Component: GameCode (Misc Circuit): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (16 intermediate revisions by 3 users not shown) | |||
| Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here | 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 39: | Line 41: | ||
| Line 45: | Line 46: | ||
| 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="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''BatteryRead''' | |||
|- | |||
| colspan="2" | Read and return the voltage level of the battery in millivolt. | |||
|- | |||
|- | |||
| 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'' | |||
|} | |||
===DisplayBrightness=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''DisplayBrightness''' | |||
|- | |||
[[File: | | colspan="2" | Control the brightness of the display. | ||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Value | |||
|- | |- | ||
| colspan="2" | Enter value from 0 to 15 | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |||
===DisplayClear=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" class="mtx-class-macrohead" | '''DisplayClear''' | |||
|- | |- | ||
| | | colspan="2" | Clear the display. | ||
|- | |- | ||
|- | |- | ||
| 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 107: | Line 112: | ||
{| class="wikitable | ===DisplayWrite=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DisplayWrite''' | ||
|- | |- | ||
| colspan="2" | 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. | | colspan="2" | 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. | ||
| Line 125: | Line 131: | ||
{| class="wikitable | ===DisplayWriteNumber=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DisplayWriteNumber''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Show a number ranging from 000 to 999 on the display. Number is printed vertically. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Value | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Enter a number from 0 to 999. | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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 | ===EEReadValue=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''EEReadValue''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Retreives a value from none volitile memory | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Address | ||
|- | |- | ||
| colspan="2" | 0 | | colspan="2" | Address to write to, Range: 0-255 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===EEStoreValue=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''EEStoreValue''' | ||
|- | |- | ||
| colspan="2" | Saves a value to none volitile memory | | colspan="2" | Saves a value to none volitile memory | ||
| Line 184: | Line 193: | ||
{| class="wikitable | ===Initialise=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Initializes all present hardware and communication. Place this at the very start of your code. | ||
|- | |||
|- | |||
| 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="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''LedsWrite''' | |||
|- | |- | ||
| | | colspan="2" | Set the button-leds. MSB = leftmost led LSB = rightmost led | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Value | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | MSB = leftmost dot, LSB = rightmost dot | ||
|- | |- | ||
| 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 207: | Line 226: | ||
{| class="wikitable | ===MP3GetStatus=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MP3GetStatus''' | ||
|- | |- | ||
| colspan="2" | Returns the status of the MP3 module. 0 = module in sleep 1 = track is playing 2 = track is pauzed 3 = track is stopped | | colspan="2" | Returns the status of the MP3 module. 0 = module in sleep 1 = track is playing 2 = track is pauzed 3 = track is stopped | ||
| Line 220: | Line 240: | ||
{| class="wikitable | ===MP3PausePlayResetStop=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MP3PausePlayResetStop''' | ||
|- | |- | ||
| colspan="2" | Allows the current playing track to be paused, restarted or stopped. | | colspan="2" | Allows the current playing track to be paused, restarted or stopped. | ||
| Line 238: | Line 259: | ||
{| class="wikitable | ===MP3PlayTrack=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MP3PlayTrack''' | ||
|- | |- | ||
| colspan="2" | | | 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". | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Directory | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=Root, 01=Folder "01" - 99=Folder "99", 100=Folder "MP3", 101=Advert | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Track | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Track number 1 = "001.mp3" / "0001.mp3" | ||
|- | |- | ||
| 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 266: | Line 283: | ||
{| class="wikitable | ===MP3SendCommand=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''MP3SendCommand''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Send commands to MP3 module. Check datasheet for info. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Command | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | Para1 | ||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Para2 | |||
|- | |- | ||
| colspan="2" | | |||
| colspan="2" | | |||
|- | |- | ||
| 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 302: | Line 312: | ||
{| class="wikitable" | ===MP3SetVolume=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''MP3SetVolume''' | |||
|- | |||
| colspan="2" | Sets the volume level for the MP3 module | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Volume | |||
|- | |- | ||
| colspan="2" | Range: 0 (min) - 30 (max) | |||
|- | |- | ||
| 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 315: | Line 331: | ||
{| class="wikitable | ===PlayNote=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''PlayNote''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Output a single note on the buzzer. Specify the desired frequency (Hz) and duration (ms). | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90% | | width="90%" | Frequency | ||
|- | |- | ||
| | | colspan="2" | Sets the pitch for the note in Hz. Range 1-20000 Hz | ||
|- | |- | ||
| | | 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 | ||
|- | |- | ||
| 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 346: | Line 355: | ||
{| class="wikitable | ===PotRead=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''PotRead''' | ||
|- | |- | ||
| colspan="2" | | | 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) | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | MaxValue | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Scale the return value. Enter 0 to skip. | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | 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'' | ||
|} | |} | ||
{| class="wikitable | ===PwrLedSet=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''PwrLedSet''' | ||
|- | |- | ||
| colspan="2" | Control the | | colspan="2" | Control the PWR LED. 0 = red + green 1 = red 2 = green | ||
|- | |- | ||
|- | |- | ||
| Line 375: | Line 386: | ||
| width="90%" | Value | | width="90%" | Value | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0 = red + green, 1 = red, 2 = green | ||
|- | |- | ||
| 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'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | LED Colours | ||
|- | |- | ||
|- | |- | ||
| Line 419: | Line 415: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Display Colours | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:36, 13 July 2026
| 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. | |
| Return | |
DisplayBrightness
| DisplayBrightness | |
| Control the brightness of the display. | |
| Value | |
| Enter value from 0 to 15 | |
| Return | |
DisplayClear
| DisplayClear | |
| Clear the display. | |
| Return | |
DisplayWrite
DisplayWriteNumber
| DisplayWriteNumber | |
| Show a number ranging from 000 to 999 on the display. Number is printed vertically. | |
| Value | |
| Enter a number from 0 to 999. | |
| Return | |
EEReadValue
| EEReadValue | |
| Retreives a value from none volitile memory | |
| Address | |
| Address to write to, Range: 0-255 | |
| Return | |
EEStoreValue
| EEStoreValue | |
| Saves a value to none volitile memory | |
| Address | |
| Address to write to, Range: 0-255 | |
| Value | |
| Value to store, Range: 0-255 | |
| Return | |
Initialise
| Initialise | |
| Initializes all present hardware and communication. Place this at the very start of your code. | |
| Return | |
LedsWrite
| LedsWrite | |
| Set the button-leds. MSB = leftmost led LSB = rightmost led | |
| Value | |
| MSB = leftmost dot, LSB = rightmost dot | |
| 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 | |
| Return | |
MP3PausePlayResetStop
| MP3PausePlayResetStop | |
| Allows the current playing track to be paused, restarted or stopped. | |
| Mode | |
| 0=Pause, 1=Play, 2=Reset, 3=Stop | |
| Return | |
MP3PlayTrack
MP3SendCommand
| MP3SendCommand | |
| Send commands to MP3 module. Check datasheet for info. | |
| Command | |
| Para1 | |
| Para2 | |
| Return | |
MP3SetVolume
| MP3SetVolume | |
| Sets the volume level for the MP3 module | |
| Volume | |
| Range: 0 (min) - 30 (max) | |
| Return | |
PlayNote
PotRead
PwrLedSet
| PwrLedSet | |
| Control the PWR LED. 0 = red + green 1 = red 2 = green | |
| Value | |
| 0 = red + green, 1 = red, 2 = green | |
| Return | |
Property reference
| Properties | |
| LED Colours | |
| LED On | |
| LED Off | |
| Display Colours | |
| On Colour | |
| Off Colour | |
| Background Colour | |