Jump to content

Component: GameCode (Misc Circuit): Difference between revisions

From Flowcode Help
No edit summary
(11 intermediate revisions by one other user not shown)
Line 15: Line 15:
A small handheld device designed for creating embedded games. Complete with a 8 x 16 LED display, 4-Way DPAD with 4 additional push switches Buzzer, Vibration, MP3 Player, Potentiometer and Lithium battery management. Programmed via USB.
A small handheld device designed for creating embedded games. Complete with a 8 x 16 LED display, 4-Way DPAD with 4 additional push switches Buzzer, Vibration, MP3 Player, Potentiometer and Lithium battery management. Programmed via USB.


==Component Pack==
==Component Source Code==


FREE
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_GameCode_Master.fcfx FC_Comp_Source_GameCode_Master.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_GameCode_Master.fcfx FC_Comp_Source_GameCode_Master.fcfx]


==Detailed description==
==Detailed description==
Line 37: Line 39:




''No detailed description exists yet for this component''




Line 43: Line 44:




==Examples==




Line 53: Line 53:




''No detailed description exists yet for this component''




Line 58: Line 59:




==Examples==


''<span style="color:red;">No additional examples</span>''


==Macro reference==


===BatteryRead===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BatteryRead'''
|-
| colspan="2" | Read and return the voltage level of the battery in millivolt. &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


{{Fcfile|GSM_Test.fcfx|GSM Example}}
Example should show the following on the display on the panel and on the hardware.
[[File:GSMPan.jpg]]
The AT injector component allows us to simulate the response of the GSM module.
[[File:GSMInject.jpg]]
==Downloadable macro reference==


===DisplayBrightness===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PlayNote'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisplayBrightness'''
|-
| colspan="2" | Control the brightness of the display. &nbsp;
|-
|-
|-
| colspan="2" | Output a single note on the buzzer. Specify the desired frequency (Hz) and duration (ms).&nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
|-
|-
| colspan="2" | Enter value from 0 to 15&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | Frequency
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===DisplayClear===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| colspan="2" | Sets the pitch for the note in Hz. Range 1-20000 Hz&nbsp;
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisplayClear'''
|-
|-
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| colspan="2" | Clear the display.&nbsp;
| width="90%" | Duration
|-
|-
| colspan="2" | Time period to play the note for in milliseconds. Range 0-65535 ms&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 103: Line 112:




===DisplayWrite===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
Line 121: Line 131:




===DisplayWriteNumber===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PotRead'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisplayWriteNumber'''
|-
|-
| colspan="2" | Read and return the value of the potentiometer. If desired, give the upper limit to scale the output value. Enter "MaxValue = 0" to skip scaling and get the byte value (0-255)&nbsp;
| colspan="2" | Show a number ranging from 000 to 999 on the display. Number is printed vertically. &nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | MaxValue
| width="90%" | Value
|-
|-
| colspan="2" | Scale the return value. Enter 0 to skip.&nbsp;
| colspan="2" | Enter a number from 0 to 999.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===EEReadValue===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PwrLedSet'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EEReadValue'''
|-
|-
| colspan="2" | Control the PWR LED. 0 = red + green 1 = red 2 = green&nbsp;
| colspan="2" | Retreives a value from none volitile memory&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
| width="90%" | Address
|-
|-
| colspan="2" | 0 = red + green, 1 = red, 2 = green&nbsp;
| colspan="2" | Address to write to, Range: 0-255&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===EEStoreValue===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
Line 180: Line 193:




===Initialise===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MP3PlayTrack'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | Initializes all present hardware and communication. Place this at the very start of your code.&nbsp;
|-
|-
|-
| colspan="2" | Plays track from the selected folder. MP3 & Advert folder track numbers should be 4 characters long e.g. "0001-anyname.mp3". Other folder track numbers should be 3 characters long e.g. "001-anyname.mp3".&nbsp;
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===LedsWrite===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LedsWrite'''
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| colspan="2" | Set the button-leds. MSB = leftmost led LSB = rightmost led&nbsp;
| width="90%" | Directory
|-
|-
| colspan="2" | 0=Root, 01=Folder "01" - 99=Folder "99", 100=Folder "MP3", 101=Advert&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Track
| width="90%" | Value
|-
|-
| colspan="2" | Track number 1 = "001.mp3" / "0001.mp3"&nbsp;
| colspan="2" | MSB = leftmost dot, LSB = rightmost dot&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 203: Line 226:




===MP3GetStatus===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
Line 216: Line 240:




===MP3PausePlayResetStop===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
Line 234: Line 259:




===MP3PlayTrack===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MP3SendCommand'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MP3PlayTrack'''
|-
|-
| colspan="2" | Send commands to MP3 module. Check datasheet for info.&nbsp;
| colspan="2" | Plays track from the selected folder. MP3 & Advert folder track numbers should be 4 characters long e.g. "0001-anyname.mp3". Other folder track numbers should be 3 characters long e.g. "001-anyname.mp3".&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Command
| width="90%" | Directory
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | 0=Root, 01=Folder "01" - 99=Folder "99", 100=Folder "MP3", 101=Advert&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Para1
| width="90%" | Track
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | Track number 1 = "001.mp3" / "0001.mp3"&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Para2
|-
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 262: Line 283:




===MP3SendCommand===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''EEReadValue'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MP3SendCommand'''
|-
|-
| colspan="2" | Retreives a value from none volitile memory&nbsp;
| colspan="2" | Send commands to MP3 module. Check datasheet for info.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Address
| width="90%" | Command
|-
|-
| colspan="2" | Address to write to, Range: 0-255&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | Para1
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | &nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisplayWriteNumber'''
|-
|-
| colspan="2" | Show a number ranging from 000 to 999 on the display. Number is printed vertically. &nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Para2
|-
|-
|-
| colspan="2" | &nbsp;
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Value
|-
| colspan="2" | Enter a number from 0 to 999.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 298: Line 312:




===MP3SetVolume===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisplayClear'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MP3SetVolume'''
|-
| colspan="2" | Sets the volume level for the MP3 module&nbsp;
|-
|-
|-
| colspan="2" | Clear the display.&nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Volume
|-
|-
| colspan="2" | Range: 0 (min) - 30 (max)&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 311: Line 331:




===PlayNote===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BatteryRead'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PlayNote'''
|-
|-
| colspan="2" | Read and return the voltage level of the battery in millivolt. &nbsp;
| colspan="2" | Output a single note on the buzzer. Specify the desired frequency (Hz) and duration (ms).&nbsp;
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | Frequency
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Sets the pitch for the note in Hz. Range 1-20000 Hz&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LedsWrite'''
|-
|-
| colspan="2" | Set the button-leds. MSB = leftmost led LSB = rightmost led&nbsp;
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
| width="90%" | Duration
|-
|-
|-
| colspan="2" | Time period to play the note for in milliseconds. Range 0-65535 ms&nbsp;
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Value
|-
| colspan="2" | MSB = leftmost dot, LSB = rightmost dot&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 342: Line 355:




===PotRead===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MP3SetVolume'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PotRead'''
|-
|-
| colspan="2" | Sets the volume level for the MP3 module&nbsp;
| colspan="2" | Read and return the value of the potentiometer. If desired, give the upper limit to scale the output value. Enter "MaxValue = 0" to skip scaling and get the byte value (0-255)&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Volume
| width="90%" | MaxValue
|-
|-
| colspan="2" | Range: 0 (min) - 30 (max)&nbsp;
| colspan="2" | Scale the return value. Enter 0 to skip.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===PwrLedSet===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DisplayBrightness'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PwrLedSet'''
|-
|-
| colspan="2" | Control the brightness of the display. &nbsp;
| colspan="2" | Control the PWR LED. 0 = red + green 1 = red 2 = green&nbsp;
|-
|-
|-
|-
Line 371: Line 386:
| width="90%" | Value
| width="90%" | Value
|-
|-
| colspan="2" | Enter value from 0 to 15&nbsp;
| colspan="2" | 0 = red + green, 1 = red, 2 = green&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
|-
| colspan="2" | Initializes all present hardware and communication. Place this at the very start of your code.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




Line 399: Line 399:
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | LED Colours
|-
|-
|-
|-
Line 410: Line 414:
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Display Colours
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]]
Line 425: Line 433:
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
|-
|}
|}

Revision as of 16:22, 20 April 2023

Author Jef De Bruyne
Version 1.0
Category Misc Circuit


GameCode component

A small handheld device designed for creating embedded games. Complete with a 8 x 16 LED display, 4-Way DPAD with 4 additional push switches Buzzer, Vibration, MP3 Player, Potentiometer and Lithium battery management. Programmed via USB.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_GameCode_Master.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_GameCode_Master.fcfx

Detailed description

No detailed description exists yet for this component



Examples

No additional examples

Macro reference

BatteryRead

BatteryRead
Read and return the voltage level of the battery in millivolt.  
- UINT Return


DisplayBrightness

DisplayBrightness
Control the brightness of the display.  
- BYTE Value
Enter value from 0 to 15 
- VOID Return


DisplayClear

DisplayClear
Clear the display. 
- VOID Return


DisplayWrite

DisplayWrite
Write an array containing 16 bytes to the display to illuminate the corresponding dots. The index represents the line (Y-axis), starting from 0 for the uppermost line. The value of the byte represents the column (X-axis), with MSB the leftmost dot. 
- BYTE Array
Index = line, Content (byte) = column 
- VOID Return


DisplayWriteNumber

DisplayWriteNumber
Show a number ranging from 000 to 999 on the display. Number is printed vertically.  
- UINT Value
Enter a number from 0 to 999. 
- VOID Return


EEReadValue

EEReadValue
Retreives a value from none volitile memory 
- BYTE Address
Address to write to, Range: 0-255 
- BYTE Return


EEStoreValue

EEStoreValue
Saves a value to none volitile memory 
- BYTE Address
Address to write to, Range: 0-255 
- BYTE Value
Value to store, Range: 0-255 
- VOID Return


Initialise

Initialise
Initializes all present hardware and communication. Place this at the very start of your code. 
- VOID Return


LedsWrite

LedsWrite
Set the button-leds. MSB = leftmost led LSB = rightmost led 
- BYTE Value
MSB = leftmost dot, LSB = rightmost dot 
- VOID Return


MP3GetStatus

MP3GetStatus
Returns the status of the MP3 module. 0 = module in sleep 1 = track is playing 2 = track is pauzed 3 = track is stopped 
- BYTE Return


MP3PausePlayResetStop

MP3PausePlayResetStop
Allows the current playing track to be paused, restarted or stopped. 
- BYTE Mode
0=Pause, 1=Play, 2=Reset, 3=Stop 
- VOID Return


MP3PlayTrack

MP3PlayTrack
Plays track from the selected folder. MP3 & Advert folder track numbers should be 4 characters long e.g. "0001-anyname.mp3". Other folder track numbers should be 3 characters long e.g. "001-anyname.mp3". 
- BYTE Directory
0=Root, 01=Folder "01" - 99=Folder "99", 100=Folder "MP3", 101=Advert 
- UINT Track
Track number 1 = "001.mp3" / "0001.mp3" 
- VOID Return


MP3SendCommand

MP3SendCommand
Send commands to MP3 module. Check datasheet for info. 
- BYTE Command
 
- BYTE Para1
 
- BYTE Para2
 
- VOID Return


MP3SetVolume

MP3SetVolume
Sets the volume level for the MP3 module 
- BYTE Volume
Range: 0 (min) - 30 (max) 
- VOID Return


PlayNote

PlayNote
Output a single note on the buzzer. Specify the desired frequency (Hz) and duration (ms). 
- UINT Frequency
Sets the pitch for the note in Hz. Range 1-20000 Hz 
- ULONG Duration
Time period to play the note for in milliseconds. Range 0-65535 ms 
- VOID Return


PotRead

PotRead
Read and return the value of the potentiometer. If desired, give the upper limit to scale the output value. Enter "MaxValue = 0" to skip scaling and get the byte value (0-255) 
- UINT MaxValue
Scale the return value. Enter 0 to skip. 
- UINT Return


PwrLedSet

PwrLedSet
Control the PWR LED. 0 = red + green 1 = red 2 = green 
- BYTE Value
0 = red + green, 1 = red, 2 = green 
- VOID Return


Property reference

Properties
LED Colours
LED On
 
LED Off
 
Display Colours
On Colour
 
Off Colour
 
Background Colour