Difference between revisions of "Component: GameCode (Misc Circuit)"

From Flowcode Help
Jump to navigationJump to search
 
(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'''
 
|-
 
 
|}
 
|}

Latest 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

Fc9-comp-macro.png BatteryRead
Read and return the voltage level of the battery in millivolt.  
Fc9-u16-icon.png - UINT Return


DisplayBrightness

Fc9-comp-macro.png DisplayBrightness
Control the brightness of the display.  
Fc9-u8-icon.png - BYTE Value
Enter value from 0 to 15 
Fc9-void-icon.png - VOID Return


DisplayClear

Fc9-comp-macro.png DisplayClear
Clear the display. 
Fc9-void-icon.png - VOID Return


DisplayWrite

Fc9-comp-macro.png 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. 
Fc9-u8-icon.png - BYTE Array
Index = line, Content (byte) = column 
Fc9-void-icon.png - VOID Return


DisplayWriteNumber

Fc9-comp-macro.png DisplayWriteNumber
Show a number ranging from 000 to 999 on the display. Number is printed vertically.  
Fc9-u16-icon.png - UINT Value
Enter a number from 0 to 999. 
Fc9-void-icon.png - VOID Return


EEReadValue

Fc9-comp-macro.png EEReadValue
Retreives a value from none volitile memory 
Fc9-u8-icon.png - BYTE Address
Address to write to, Range: 0-255 
Fc9-u8-icon.png - BYTE Return


EEStoreValue

Fc9-comp-macro.png EEStoreValue
Saves a value to none volitile memory 
Fc9-u8-icon.png - BYTE Address
Address to write to, Range: 0-255 
Fc9-u8-icon.png - BYTE Value
Value to store, Range: 0-255 
Fc9-void-icon.png - VOID Return


Initialise

Fc9-comp-macro.png Initialise
Initializes all present hardware and communication. Place this at the very start of your code. 
Fc9-void-icon.png - VOID Return


LedsWrite

Fc9-comp-macro.png LedsWrite
Set the button-leds. MSB = leftmost led LSB = rightmost led 
Fc9-u8-icon.png - BYTE Value
MSB = leftmost dot, LSB = rightmost dot 
Fc9-void-icon.png - VOID Return


MP3GetStatus

Fc9-comp-macro.png MP3GetStatus
Returns the status of the MP3 module. 0 = module in sleep 1 = track is playing 2 = track is pauzed 3 = track is stopped 
Fc9-u8-icon.png - BYTE Return


MP3PausePlayResetStop

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


MP3PlayTrack

Fc9-comp-macro.png 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". 
Fc9-u8-icon.png - BYTE Directory
0=Root, 01=Folder "01" - 99=Folder "99", 100=Folder "MP3", 101=Advert 
Fc9-u16-icon.png - UINT Track
Track number 1 = "001.mp3" / "0001.mp3" 
Fc9-void-icon.png - VOID Return


MP3SendCommand

Fc9-comp-macro.png MP3SendCommand
Send commands to MP3 module. Check datasheet for info. 
Fc9-u8-icon.png - BYTE Command
 
Fc9-u8-icon.png - BYTE Para1
 
Fc9-u8-icon.png - BYTE Para2
 
Fc9-void-icon.png - VOID Return


MP3SetVolume

Fc9-comp-macro.png MP3SetVolume
Sets the volume level for the MP3 module 
Fc9-u8-icon.png - BYTE Volume
Range: 0 (min) - 30 (max) 
Fc9-void-icon.png - VOID Return


PlayNote

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


PotRead

Fc9-comp-macro.png 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) 
Fc9-u16-icon.png - UINT MaxValue
Scale the return value. Enter 0 to skip. 
Fc9-u16-icon.png - UINT Return


PwrLedSet

Fc9-comp-macro.png PwrLedSet
Control the PWR LED. 0 = red + green 1 = red 2 = green 
Fc9-u8-icon.png - BYTE Value
0 = red + green, 1 = red, 2 = green 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png LED Colours
Fc9-type-1-icon.png LED On
 
Fc9-type-1-icon.png LED Off
 
Fc9-conn-icon.png Display Colours
Fc9-type-1-icon.png On Colour
 
Fc9-type-1-icon.png Off Colour
 
Fc9-type-1-icon.png Background Colour