Jump to content

Component: GameCode (Misc Circuit)

From Flowcode Help
Revision as of 10:36, 17 November 2021 by Wiki bot (talk | contribs)
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.

Detailed description

No detailed description exists yet for this component



Examples

GSM Example Example should show the following on the display on the panel and on the hardware.


The AT injector component allows us to simulate the response of the GSM module.




Downloadable macro reference

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


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


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
Control the PWR LED. 0 = red + green 1 = red 2 = green 
- BYTE Value
0 = red + green, 1 = red, 2 = green 
- VOID Return


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


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


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
Allows the current playing track to be paused, restarted or stopped. 
- BYTE Mode
0=Pause, 1=Play, 2=Reset, 3=Stop 
- VOID Return


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


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


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


DisplayClear
Clear the display. 
- VOID Return


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


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


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


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


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


Initialise
Sets up the GSM module. Returns 0 for OK, 255 for no reply and 254 for command fail. 
- BYTE Return


SampleAccel
Samples the accelerometer 0 = no new data, 1 = new data available 
- BYTE Return


Left
Rotates the robot left - waits for the angle to be traversed before returning 
- UINT Angle
Angle to turn in degrees 
- VOID Return


ReadIR
Reads an IR sensor 0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft 
- BYTE index
0=Left, 1=FrontLeft, 2=Front, 3=FrontRight, 4=Right, 5=RearRight, 6=Rear, 7=RearLeft 
- UINT Return


LCDDrawPixel
Allows a single pixel on the LCD to be set or cleared 
- BYTE X
X Pixel 0-127 
- BYTE Y
Y Pixel 0-31 
- BYTE State
0=White (Off), 1=Black (On) 
- VOID Return


ServoSetPosition
Allows one of the servo positions to be assigned 
- BYTE Channel
Range 0-3 
- BYTE Position
Range 0-255 
- VOID Return


CardBitmap
Displays a monochrome bitmap read from the card on the LCD 
- BYTE X
Range 0-127 
- BYTE Y
Range 0-31 
- STRING Filename
 
- BYTE Return


CardRecordMic
Records an audio stream on the card from the microphone 
- BYTE BitDepth
0=8-bit, 1=16-bit 
- BYTE SampleRate
Sample Rate 0=8KHz, 1=16KHz 
- UINT RecordTime
Time to record for in seconds, Range 0-65535 
- STRING Filename
 
- BYTE Return


CardOpen
Attempts to open an existing file on the SD card 255=Error, 1=File not found, 0=Open OK 
- STRING Filename
 
- BYTE Return


Forwards
Drives the robot forwards - waits for the distance to be traversed before returning 
- UINT Distance
Distance in mm 
- VOID Return


ReadBearing
Reads the compass bearing based on the degrees clockwise from magnetic north. 
[[File:]] - Return


GetConsoleHandle
Gets the handle to the console allowing data displaying on the panel etc. 
[[File:]] - Return


LCDDrawLine
Allows a single pixel width line to be drawn on the LCD 
- BYTE X1
X Pixel 0-127 
- BYTE Y1
Y Pixel 0-31 
- BYTE X2
X Pixel 0-127 
- BYTE Y2
Y Pixel 0-31 
- VOID Return


ServoAutoMoveToPosition
Allows one of the servo positions to move gradually to a new position 
- BYTE Channel
Range 0-3 
- BYTE Position
Range 0-255 
- VOID Return


ReadAllValue
Reads a single value stored from the read all command Index dictates which sensor value to read 
- BYTE Index
0=SW, 1-8=IR, 9-10=Line, 11=Light, 12=Mic, 13-15=Accel 
- UINT Return


LCDBacklight
Allows the LCD backlight brighntess to be adjusted 
- BYTE Intensity
Range 0-100, 0=Off, 1=Min Brightness, 100=Max Brightness 
- VOID Return


LCDDrawRect
Allows a rectangle to be drawn on the LCD 
- BYTE X1
X Pixel 0-127 
- BYTE Y1
Y Pixel 0-31 
- BYTE X2
X Pixel 0-127 
- BYTE Y2
Y Pixel 0-31 
- VOID Return


ReadLine
Reads one of the IR line sensors 0-1 0=Left, 1=Right 
- BYTE index
0=Left, 1=Right 
- UINT Return


ServoDisable
Allows one of the servo outputs 0-3 to be disabled 
- BYTE Channel
Range 0-3 
- VOID Return


ServoEnable
Allows one of the servo outputs 0-3 to be enabled 
- BYTE Channel
Range 0-3 
- VOID Return


CardReadByte
Reads a byte from the currently open file. Starts at the beginning of the file and auto increments to the end 
- BYTE Return


CardErase
Attempts to delete an existing file on the SD card 255=Error, 1=File not found, 0=Delete OK 
- STRING Filename
 
- BYTE Return


CardWriteByte
Appends a byte to the end of the currently open file  
- BYTE Data
 
- VOID Return


EncoderRead
Reads one of the motor encoder counters. Approx 0.328296mm of travel per encoder unit. 
- BYTE index
0=Left, 1=Right 
- UINT Return


SetMotors
Sets the motor speeds without feedback Range -100 to 100 
[[File:]] - Left
Range -100 to 100 
[[File:]] - Right
Range -100 to 100 
- VOID Return


Backwards
Drives the robot backwards - waits for the distance to be traversed before returning 
- UINT Distance
Distance in mm 
- VOID Return


EncoderReset
Resets the motor encoder counters 
- VOID Return


LCDVerbose
Allows the LCD to automatically report the API commands as they get processed. Default - verbose on 
- BYTE State
0=Off 1=On 
- VOID Return


SetProp
Allows the COM port property to be set from a parent component. 
- STRING PropName
 
- ULONG PropVal
 
- VOID Return


CardInit
Attempts to startup the SD card 255=No Card, 254=Init Fail, 0=Init OK 
- BYTE Return


GetProp
Allows the property filter for the COM port list to be copied to a parent component. 
- STRING PropName
 
- STRING Return


LCDClear
Clears the LCD 
- VOID Return



Property reference

Properties
LED On
 
LED Off
 
On Colour
 
Off Colour
 
Background Colour
 
Connections
Simulations