Difference between revisions of "Simulation Functionality"
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | In Flowcode, simulation allows you to test and debug your embedded system designs without needing physical hardware. It provides a visual environment where you can run your program, interact with components, and observe their behavior in real-time. The simulation includes features like breakpoints, variable tracking, and real-time data display, helping you identify issues and optimize your design before uploading it to the actual hardware. | ||
+ | |||
+ | Flowcode's simulation feature offers a powerful environment for testing and debugging embedded system designs. Here’s more detail on its capabilities: | ||
+ | |||
+ | * Real-Time Simulation: You can run your design as if it were on actual hardware, with real-time updates on how components like LEDs, sensors, or motors behave in response to the programmed logic. | ||
+ | * Interactive Testing: Many components allow user interaction during the simulation. For example, you can press virtual buttons, adjust sensor values, or modify inputs to see how the system responds. | ||
+ | * Debugging Tools: The simulation includes essential debugging features like breakpoints, step-by-step execution, and variable tracking. This lets you pause and inspect your program at specific points to identify issues or optimize performance. | ||
+ | * Graphical Feedback: Data like sensor readings or communication signals can be visualized using built-in graphs and data monitors, making it easier to observe trends and behaviors over time. | ||
+ | * Component Visualization: Physical components, such as displays or motors, are visually represented, so you can see how they would react in a real-world scenario, enhancing understanding and design verification. | ||
+ | * Error Checking: Flowcode provides error messages and warnings during simulation, helping catch issues like incorrect component configurations or logical errors in the code. | ||
+ | |||
+ | Simulation in Flowcode helps streamline the development process by allowing thorough testing before deployment to hardware, reducing errors and saving time in the prototyping phase. | ||
+ | |||
__TOC__ | __TOC__ | ||
Line 150: | Line 163: | ||
| colspan="2" style="background-color:#FFFFFF;" | [[API Panel.AddNewComponent|AddNewComponent]] | | colspan="2" style="background-color:#FFFFFF;" | [[API Panel.AddNewComponent|AddNewComponent]] | ||
| style="background-color:#FFFFFF;" | Adds a new component to a panel | | style="background-color:#FFFFFF;" | Adds a new component to a panel | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="width: 800px; background-color:#FFFFFF;" | ||
|- | |- | ||
| colspan="3" align="center" style="background-color:#EAE1EA;" | Position | | colspan="3" align="center" style="background-color:#EAE1EA;" | Position | ||
Line 476: | Line 492: | ||
|- | |- | ||
|} | |} | ||
+ | </tab> | ||
+ | |||
<tab name="Mouse"> | <tab name="Mouse"> | ||
Line 934: | Line 952: | ||
| colspan="2" style="background-color:#FFFFFF;" | [[API File.Flush|Flush]] | | colspan="2" style="background-color:#FFFFFF;" | [[API File.Flush|Flush]] | ||
| style="background-color:#FFFFFF;" | Writes all unwritten data to the file in one block | | style="background-color:#FFFFFF;" | Writes all unwritten data to the file in one block | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="width: 800px; background-color:#FFFFFF;" | ||
|- | |- | ||
| colspan="3" align="center" style="background-color:#EAE1EA;" | Buffer | | colspan="3" align="center" style="background-color:#EAE1EA;" | Buffer | ||
Line 979: | Line 1,000: | ||
|- | |- | ||
|} | |} | ||
+ | </tab> | ||
+ | |||
<tab name="UI"> | <tab name="UI"> | ||
Latest revision as of 10:27, 2 October 2024
In Flowcode, simulation allows you to test and debug your embedded system designs without needing physical hardware. It provides a visual environment where you can run your program, interact with components, and observe their behavior in real-time. The simulation includes features like breakpoints, variable tracking, and real-time data display, helping you identify issues and optimize your design before uploading it to the actual hardware.
Flowcode's simulation feature offers a powerful environment for testing and debugging embedded system designs. Here’s more detail on its capabilities:
- Real-Time Simulation: You can run your design as if it were on actual hardware, with real-time updates on how components like LEDs, sensors, or motors behave in response to the programmed logic.
- Interactive Testing: Many components allow user interaction during the simulation. For example, you can press virtual buttons, adjust sensor values, or modify inputs to see how the system responds.
- Debugging Tools: The simulation includes essential debugging features like breakpoints, step-by-step execution, and variable tracking. This lets you pause and inspect your program at specific points to identify issues or optimize performance.
- Graphical Feedback: Data like sensor readings or communication signals can be visualized using built-in graphs and data monitors, making it easier to observe trends and behaviors over time.
- Component Visualization: Physical components, such as displays or motors, are visually represented, so you can see how they would react in a real-world scenario, enhancing understanding and design verification.
- Error Checking: Flowcode provides error messages and warnings during simulation, helping catch issues like incorrect component configurations or logical errors in the code.
Simulation in Flowcode helps streamline the development process by allowing thorough testing before deployment to hardware, reducing errors and saving time in the prototyping phase.
Contents
Built in functions
Property | ||
GetValue | Gets the value of a property as a string | |
SetColor | Sets a components 'color' property as a R,G,B value | |
SetValue | Sets a components property as a string | |
CopyValue | Copies a property value from one target to another | |
SetChildValues | Sets all child components property as a string | |
CopyChildValues | Copies the values of a properties children from the source to dest | |
SetVisible | Sets whether the property is visible or not | |
SetWritable | Sets whether the property can be edited in the UI or not | |
GetVisible | Gets whether the property is visible or not | |
GetWritable | Gets whether the property can be edited in the UI or not | |
GetFilter | Gets a components property filter string for lists, files, etc | |
SetFilter | Sets a components property filter string for lists, files, etc | |
CopyFilter | Copies a property filter from one target to another | |
GetListIndex | Gets a single lists index value from a property by line number | |
GetListItem | Gets a single list entry from a property by named index | |
SetListItem | Sets an existing list entries text for the property by named index | |
AddListItem | Alters or appends a list entries text for the property by named index |
GetPanel | Returns the id of the panel hosting the component | |
SetInteractive | Sets whether a component can interact with the mouse | |
GetInteractive | Gets whether a component can interact with the mouse | |
SetVisible | Sets whether a component can be seen on the panel | |
GetVisible | Gets whether a component can be seen on the panel | |
SetSolid | Sets whether a component is checked in collision detections | |
GetSolid | Gets whether a component is checked in collision detections | |
SetCompile | Sets whether a component is considered for compilation or not | |
GetCompile | Gets whether a component will be compiled or not | |
GetInstance | Gets the type-instance of the component, >= 1 is valid | |
FindChild | Finds a named object that is part of the component | |
GetRoot | Gets the root component handle | |
GetTopParent | Gets the top-level owner of the component | |
GetParent | Gets the owner of the component | |
GetNext | Gets the next (younger) sibling of the components handle | |
GetLast | Gets the previous (elder) sibling of the components handle | |
GetChildHead | Gets the first (eldest) child of the component | |
GetChildTail | Gets the last (youngest) child of the component | |
GetOriginal | Gets the original definition of the component, returns Current if no original copy | |
Clone | Clones an existing object to another position on the panel | |
Delete | Deletes an existing object, removing it from the panel |
GetPanelName | Returns the name of the panel from the id | |
GetPanelBkColour | Returns the main background colour of the panel | |
Get2dPanelCount | Gets the number of 2d panels | |
Create2dPanel | Creates a new 2d panel | |
AddNewComponent | Adds a new component to a panel |
Position | ||
GetWorldPosition | Returns the positions coordinates in (X,Y,Z) array | |
GetWorldSize | Returns the component size in (X,Y,Z) array | |
SetWorldPosition | Moves the object to the given coordinates in World coordinates | |
SetWorldSize | Sets the objects size to a value | |
Get | Gets a handle to an object representing the components current position | |
GetOrigin | Gets a handle to an empty position | |
Set | Sets an objects position based on a component or pre-defined position | |
SetCoords | Sets an objects coordinates based on a position | |
SetScale | Sets an objects scale based on a position | |
SetRotation | Sets an objects orientation based on a position | |
GetBox | Gets a handle to an object representing the components bounding box position | |
GetLineNodes | Returns the position of a line's nodes as a comma-separated list | |
SetLineNodes | Sets the nodes of a line | |
Morph | Blends positions from two sources to a destination | |
Animate | Blends positions from two sources to a destination over time | |
StopAnimate | Stops all animations started by this component | |
MoveAlong | Moves the object by the given offset relative to its parent along an axis | |
MoveBy | Moves the object by the given offset relative to its parent | |
MoveTo | Moves the object to the given coordinates relative to its parent | |
ScaleTo | Sets the objects scale to a value | |
ScaleUp | Multiplies the objects scale by a value | |
ScaleDown | Divides the objects scale by a value | |
RotateTo | Rotates the object to the given rotation | |
RotateAlong | Rotates the object by the given rotation along an axis | |
RotateX | Rotates the object around the X axis | |
RotateY | Rotates the object around the Y axis | |
RotateZ | Rotates the object around the Z axis | |
GetCoords | Returns the positions coordinates in (X,Y,Z) array | |
GetScale | Returns the positions scale in (X,Y,Z) array | |
GetQuat | Returns the positions quaternion in (X,Y,Z,W) array | |
GetEuler | Returns the positions euler angles in (P,Y,R) array | |
Math | Coordinate maths functions | |
Panel2D | 2D Panel functions | |
Camera | Camera positioning for 3D panel |
PCloud | ||
Create | Creates a new point cloud tied to a position handle | |
SetVisible | Sets whether the point cloud is displayed or not | |
SetPos | Sets the position for the point cloud to be located at | |
GetPos | Gets the position the point cloud is located at | |
SetPoints | Sets the X,Y,Z point lists | |
SetPointsEx | Sets the X,Y,Z point lists | |
SetGrid | Sets the X,Y,Z point lists in a height-map grid | |
SetGridEx | Sets the X,Y,Z point lists in a height-map grid | |
SetGridFlat | Sets the X,Y,Z point lists in a flat height-map grid | |
SetGridPoint | Given an XY on the grid, sets the vertex value at that point | |
UnitScale | Creates a unit scaled axis (X, Y or Z) with a center of zero and a range of two | |
SetColor | Sets the RGB colour of the entire cloud | |
SetColors | Sets the RGB colour of the individual points in the cloud | |
SetGridColor | Given an XY on the grid, sets the vertex colour at that point | |
SetMode | Sets the rendering mode of the point cloud | |
SetPointLight | Enables or disables simple lighting for point mode, providing a normal passing through the point and (0,0,0) | |
Update | Manually refresh the screen the point cloud exists on |
LinkBar | ||
Create | Creates a new bar linking a pair of position handles | |
SetVisible | Sets whether the link is displayed or not | |
SetStartPos | Sets the position for the start point of the bar | |
SetEndPos | Sets the position for the end point of the bar | |
SetStartAdjustment | Sets the clipping adjustments for the beginning of the link | |
SetEndAdjustment | Sets the clipping adjustments for the end of the link | |
SetStartGfx | Sets the graphic for the start point of the bar | |
SetBarGfx | Sets the graphic for the main line of the bar | |
SetEndGfx | Sets the graphic for the end point of the bar | |
GetStartPos | Gets the position the bars start point is located at | |
GetBarPos | Gets the position the bar is located at | |
GetEndPos | Gets the position the bars end point is located at | |
Update | Manually refresh the screen the bar exists on | |
EnableAuto | Sets whether Flowcode should automatically draw links for component object property types |
TextLabel | ||
Create | Creates a new text label that always faces the camera | |
SetVisible | Sets whether the label is displayed or not | |
SetPos | Sets the position for the point to draw the text at | |
SetOffset | Sets the offset from the SetPos() position for the label | |
SetText | Sets the text for the label | |
SetScale | Sets the multipliers for the width and height of the label | |
SetColors | Sets the foreground and background colours for the label | |
SetViewMode | Sets whether to draw at a fixed size or to scale based on distance from the camera | |
GetPos | Gets the position the label is located at | |
Update | Manually refresh the screen the label exists on |
Collision | ||
TestTable | Tests whether an object collides with the table top, returns Z distance to move to rest on the table | |
TestSingle | Tests whether an object collides with a position | |
GetSingleAxis | Tests whether an object collides with a position | |
GetSinglePos | Returns the position to move Pos to so it does not collide with Test - null if no collide | |
GetMultiAxis | Tests whether an object collides with a position | |
GetMultiPos | Returns the position to move Pos to so it does not collide with any other object - null if no collide |
Graphics | ||
Redraw | Sends a redraw request to the given component | |
SetColor | Sets the draw colour for and subsequent graphics objects | |
SetColorRGB | Sets the draw colour for and subsequent graphics objects | |
SetTextFont | Sets the text font for subsequent text objects | |
SetTextScale | Sets the text scale for subsequent text objects | |
SetLineThickness | Sets the thinkness when drawing lines and points | |
DrawCreate | Creates a drawing area on a shape | |
DrawBegin | Begins drawing on a given shape | |
DrawEnd | Ends drawing started with DrawBegin() | |
DrawDelete | Deletes a drawing area for a shape | |
DrawText | Draws a line of text texture | |
DrawPoint | Draws a point on a texture | |
DrawLine | Draws a line on a texture | |
DrawLineA | Draws a smooth line on a texture | |
DrawRect | Draws a rectangle on a texture | |
DrawCircle | Draws a circle on a texture | |
Clear | Clear texture to the given component | |
Shape | Routines to change the last drawn shape |
GetButtons | Gets the button state from the mouse: 4 for left, 1 for right | |
GetFocus | Gets the handle of the component under the mouse | |
GetPosition | Gets the position of the mouse, intersecting with a component or the viewing plane | |
GetPosition2D | Gets the X/Y position of the mouse in screen coords | |
GetClickSide | Gets the side of the component clicked on, 0 to 5 | |
SimClick | Simulates a click on an object | |
SimDrag | Simulates a click-drag on an object | |
SimRelease | Simulates a click-release on an object |
GetItemValue | Gets a paths item value from the FCD document | |
GetItemHandle | Gets a FCD items handle, suitable for traversal with the Tree API | |
GetPathHandle | Gets a FCD paths handle, suitable for traversal with the Tree API | |
SetItemValue | Override item value from the FCD document from path | |
ResetItemValue | Reset paths item value from the FCD document |
Play | Plays a formatted file sound, returns true if the sound played OK | |
LoadWav | Loads a wave file into memory, providing the values needed to play it | |
Create | Creates a sound object that data can be played through | |
SetVolume | Sets the volume of playbacks for this sound | |
GetVolume | Gets the volume of playbacks for this sound in the range 0 to 1 | |
GetBits | Gets the number of bits per sample for the sound | |
GetRate | Gets the current sample rate for the sound | |
SetRate | Sets the current sample rate for the sound - this will stop the playing sound | |
Queue | Queues a sound for playing | |
QueueEx | Queues a sound for playing, with the format provided | |
Flush | Stops all playing and queued sounds | |
GetPending | Gets the number of sample blocks queued or playing for the sound |
AddGroup | Adds a group to the scope to which streams may be added | |
ShowGroup | Sets the visibility of the given group | |
AddStream | Adds a stream to the given group suitable for inputs and operations | |
AddBuffer | Adds a fixed-view stream to the given group suitable for inputs and operations | |
Rename | Renames the given scope group, stream or buffer | |
SetYAxisLabels | Sets the labels for the Y-axis of the given stream | |
SetLineColor | Sets the group, stream or buffers line colour | |
GetLineColor | Gets the streams line colour | |
SetBackColor | Sets the groups background colour | |
GetBackColor | Gets the stream groups background colour | |
SetDecodable | Sets whether a stream can be decoded via the components event - defaults to 'true' | |
GetDecodable | Gets whether a stream can be decoded via the components event - defaults to 'true' | |
AddPort | Adds an input to the stream from a port | |
AddAnalog | Adds an input to the stream from an analog channel | |
AddCustom | Adds an input to the stream from a custom injection | |
AddOp | Adds an operation to act on the inputs of the stream | |
ClearOps | Clears all inputs and operations from the given stream | |
SetBuffer | Sets the contents of a snapshot stream | |
SetCustom | Sets one of 32 custom analog values for the group | |
GetSnapshot | Gets a block of the output stream with each input sample operated on, returns number of samples read | |
FindOutput | Searches back through the output history for a value, returns offset of found sample from TimeUS, 0 if not found | |
FindPeriod | Attempts to calculate the wave period given a series of transitions for the stream, returns calculated period | |
SetPacketFmt | Sets the graphical format of the packets added with AddPacket and Add...Packets | |
GetPacketFmt | Returns the graphical format of the packets added with AddPacket and Add...Packets | |
AddPacket | Adds an overlay packet to the stream at a given offset from the current time | |
AddStepPackets | Adds overlay packets to the stream by decoding the stream contents with a fixed period rate | |
AddSyncPackets | Adds overlay packets to the stream by decoding the stream contents with a variable period rate | |
ClearPackets | Clears existing overlay packets from the stream | |
ClearAllPackets | Clears all existing overlay packets from the stream | |
TicksToSecs | Converts a duration in ticks into a time in seconds | |
SecsToTicks | Converts a time in seconds into a duration in ticks |
FloatToStorageULong | Converts a float to an array containing 4 bytes | |
StorageULongToFloat | Returns a float value from an unsigned long representation (used to store or transfer it) | |
GetFrequencyArray | Calculates the frequency from an array of data. | |
GetAmplitudeArray | Calculates the amplitude from an array of data. |
AddText | Adds a window to the list of consoles available | |
AddMemory | Adds a window to the list of consoles available | |
GetDefault | Gets the default (read-only) console window | |
GetConsole | Gets a console window | |
GetName | Returns the name of a console | |
Rename | Renames the given console | |
SetMemMode | Sets whether to show address and bytes for the console | |
SetInputRGB | Sets the colour of text inserted by the user from now on | |
SetOutputRGB | Sets the colour of text inserted by the component from now on | |
WriteText | Adds a block of text to the console window | |
GetLineText | Reads a line of text from the given console, pass -1 for final line | |
SetLineText | Writes a line of text from the given console, pass -1 for final line | |
GetLineBytes | Reads a line of bytes from the given console extending the array if needed | |
SetLineBytes | Writes a line of bytes from the given console, pass -1 for final line | |
CountLines | Counts the number of lines in the console | |
ClearText | Clears all the text in the console |
GetPort | Gets a ports value from its index | |
SetPort | Sets a ports value from its index | |
GetAn | Gets an analog value from its channel index | |
SetAn | Sets an analog value from its index, range 0->1 | |
DecodePort | Gets a ports details from its name or index |
PathName | Expands a string using the built-in pathname expansion variables | |
MacroName | Expands a string to the name of a macro used in the generated code | |
VarName | Expands a string to the name of a global variable used in the generated code | |
Property | Expands a string to the name of a property used in the generated code | |
MacroHead | Expands a macro name to the code generated for the header of that macro | |
MacroBody | Expands a macro name to the code generated for the body of that macro | |
MacroTail | Expands a macro name to the code generated for the tail of that macro |
GetValue | Gets the value of the given object, if available | |
GetName | Gets the name of the given object | |
GetPath | Gets the full '.' separated name of the given object | |
GetSubValue | Gets the value of a named sub-item of the given object, if available | |
Traverse | Updates the object to step depth-first through the tree | |
StepNext | Updates the object to point to the next (younger) sibling | |
StepNamedNext | Updates the object to point to the next (younger) sibling matching the name | |
StepNamedIndex | Updates the object to point to the Nth next (younger) sibling matching the name | |
StepLast | Updates the object to point to the last (elder) sibling | |
StepParent | Updates the object to point to its parent object | |
StepRoot | Updates the object to point to the root of the tree | |
StepChildHead | Updates the object to point to the head (eldest) child | |
StepChildTail | Updates the object to point to the tail (youngest) child | |
StepChildPath | Updates the object to point to the '.' separated named child path | |
CountChildren | Returns the number of immediate children present for the object | |
CheckChildren | Returns true if the object has children, else false | |
CountNamedChildren | Returns the number of immediate children present for the object | |
CheckParent | Returns true if the object has a parent, else false if it is the root | |
StepSubHead | Updates the object to point to the head (eldest) attribute, if any | |
StepSubTail | Updates the object to point to the tail (youngest) attribute, if any | |
StepSubName | Updates the object to point to the named attribute, if any | |
GetCopy | Creates a copy of the handle and returns the copy |
AbsPath | Gets an absolute path from a relative filename | |
RelPath | Gets an relative path from an absolute filename | |
CreateDir | Creates a directory structure | |
GetType | Finds the type of a file: 0=Unknown, 1=File, 2=Dir, 4=Disk | |
GetSize | Gets the number of bytes in the file, by handle or name | |
Delete | Deletes the file or directory structure | |
Create | Creates the new file as a standard stream | |
Open | Opens the existing file as a standard stream | |
ReadArray | Reads an array from the file, returns elements read | |
WriteArray | Writes an array to the file | |
SetPos | Sets the position of the next read or write in the file | |
GetPos | Gets the position of the next read or write in the file | |
Flush | Writes all unwritten data to the file in one block |
Buffer | ||
Open | Opens the existing file as a circular buffer | |
Create | Creates the new file as a circular buffer | |
ReadByte | Reads a single byte from the input stream, -1 if empty | |
WriteByte | Writes a single byte to the input stream | |
ReadArray | Reads an array from the input stream, returns elements read | |
WriteArray | Writes an array to the input stream |
NVM | ||
Open | Opens the existing file as a block of non-volatile memory | |
Create | Creates the new file as a block of non-volatile memory | |
ReadByte | Reads a single byte from the NVM, -1 if empty | |
WriteByte | Writes a single byte to the NVM multiple times | |
ReadArray | Reads an array from the NVM, returns elements read | |
WriteArray | Writes an array to the NVM |
SimpleMsgBox | Displays a simple 'Ok' message box | |
Win32MsgBox | Invokes the Win32 API MessageBox function | |
YesNoMsgBox | Displays a simple 'Yes/No' message box | |
YesNoCancelMsgBox | Displays a simple 'Yes/No/Cancel' message box (0 == Cancel, 1 == No, 2 == Yes) | |
InputMsgBox | Displays a message box that allows the user to input text. Returns true if 'Ok' clicked, false otherwise |
GetMillisecs | Returns the value of a monotonic non-decrementing millisecond counter | |
GetUTC | Returns the current UTC Modified Julian Date value | |
GetLocal | Returns the current local time as a Modified Julian Date value | |
AddMJD | Increments or decrements a Modified Julian Date and millisecond value | |
MJDToDate | Converts a Modified Julian Date into a Gregorian calendar date | |
DateToMJD | Converts a Gregorian calendar date into a Modified Julian Date | |
MJDToSeconds | Converts a Modified Julian Date into a number of seconds since a specified epoch | |
SecondsToMJD | Returns the Modified Julian Date given by the number of seconds since a specified epoch | |
MJDToWeekday | Gets the day of the week that the MJD represents | |
GetLeapYear | Returns true if the given year is a leap year, else false | |
GetMonthDays | Returns the number of days in the given month |
Translate | Takes English text and optional hint and converts to the current language |
Notify | Sends a System.User message to the targeted component | |
Forward | Sends the currently processing message to the target | |
MacroExists | Returns true if the macro exists | |
CallMacro | Calls a macro | |
ShowHandle | Given a handle to an object with viewable presence, shows that object on screen | |
CreateHandle | Creates a general-purpose garbage collected handle for resource management | |
SetHandleWord | Sets a general purpose word in the handle for use by its owner | |
GetHandleWord | Gets a general-purpose word set by the owner of a custom handle | |
DeleteHandle | Deletes any handle created by the component | |
GetSender | Gets the handle of the component that posted this event - 0 for system | |
TimerStart | Calls the Component.Timer event with Ident as an argument after Millisecs time | |
TimerStop | Kills any timers with the given ident for this component | |
WDTEnable | Enables or disables the software watchdog during long operations | |
ClaimEvent | Claims an event message by name, returns true if claimed | |
ReleaseEvent | Releases a previously claimed an event message by name, returns true if released | |
EnableEvent | Allows an event to be fired or removes the ability for an event to fire - this may be nested | |
ClaimMouse | Claims mouse clicks for the target object | |
ReleaseMouse | Releases mouse clicks for the target object | |
RedirectMacros | Allows calls to one of your children to be redirected to another component | |
StartSim | Start the simulation engine | |
StopSim | Stop the simulation engine | |
SetSimSpeed | Sets the speed the simulation engine | |
SetClipboardData | Sets the clipboard with text data | |
ReadClipboardData | Reads text data from the clipboard | |
GetHasFocus | Checks to see if a Flowcode window has the focus | |
ShellExecute | Launches an external file or program on this computer | |
WriteRegistryInt | Writes an integer value to the registry | |
WriteRegistryString | Writes a string value to the registry | |
ReadRegistryInt | Reads an integer value from the registry | |
ReadRegistryString | Reads a string value from the registry |
Prints out the string or value on a line in the debug window | ||
PrintLn | Prints out the string or value with a new-line in the debug window | |
TestFunction | Temporary debug function |
Events
Preprocess | Broadcast to all components immediately before compilation is started | |
AddProperty | Sent to a component to allow dynamic amendment of global property declarations | |
AddConst | Sent to a component to allow dynamic amendment of global variable declarations | |
AddVarSize | Sent to a component to allow dynamic amendment of global array-size declarations | |
AddVar | Sent to a component to allow dynamic amendment of global constant declarations | |
AddHeader | Sent to a component to allow dynamic amendment of header code | |
AddInterrupts | Sent to a component to allow dynamic amendment of the interrupts for a component | |
AddInterrupt | Sent to a component to allow dynamic amendment of a single interrupts code | |
Start | Broadcast to all components that compilation is starting | |
Stop | Broadcast to all components that compilation has stopped | |
GetVarSize | Sent to a component to amend the size of the expected array | |
HtmlBodyInfo | Sent to a component to retrieve tags to be placed in the html body | |
HtmlScriptHeader | Sent to a component to retrieve script code to be placed in the html header section |
PropertyEx | Sent when a property has been changed by the User (specific property and value identified) | |
Property | Sent when a property has been changed by the User | |
ProjectClosedown | Sent to the component when the project is closing | |
Added | Broadcast to all existing components once a new component has been added | |
Adding | Broadcast to all existing components when a new component is about to be added | |
Resize | Sent to the mouse target when the user has altered the position of a component child | |
Removed | Broadcast to all remaining components after a component has been removed | |
Removing | Broadcast to all existing components when a component is about to be removed | |
Renamed | Sent to the component when the component is renamed | |
Deleted | Closedown routine for the component | |
Deleting | Send to a component when it is being deleted | |
Initialise | Initialisation routine for the component once the component is linked to its parent | |
Initialising | Initialisation routine before the component is linked to its parent |
AddLine | Post to the owning component when a line is inserted by the user | |
TextChanged | Post when the console text is changed by the user in some way | |
MemChanged | Post when the console memory is changed by the user in some way |
PinPopulate | Sent when auto-populate of digital connections is requested | |
PinChange | Sent during simulation if a connected port pin changes | |
AnPopulate | Sent when auto-populate of analog connections is requested | |
AnChange | Sent during simulation if a connected ADC channel changes | |
ChipChange | Sent when the target device has changed | |
Unconnected | Sent when the component is compiled with unconnected pins | |
FCDChange | Sent when some settings of the target device have changed |
Pause | Broadcast to all components that simulation has paused | |
Resume | Broadcast to all components that simulation has resumed | |
Start | Broadcast to all components that simulation is starting | |
Stop | Broadcast to all components that simulation has stopped |
CleanHandle | Called when a custom handle is deleted to allow cleanup of resources | |
Timer | Called back on the panel command System.TimerStart | |
User | Called back on the panel command System.Notify | |
LoadComplete | Broadcast after a project has finished loading |
Complete | Sent when a sound queued by the component has finished playing |
ResyncPacket | Sent when Packet_ResyncEv is specified in scope decoding | |
Decode | Sent when a block of the stream is to be decoded into packets | |
FmtPacket | Sent when a %e is read in a format string when decoding a packet | |
Overlay | Sent when the mouse hovers over a scope stream |
GraphicPoll | Called when a tooltip graphic is updating with the draw image already pushed | |
GetText | Called when a tooltip text string can be displayed | |
GetGraphic | Called when a tooltip graphic can be displayed with the draw image already pushed |
Animated | Notification than an animation has finished | |
Background | Updates the background container of the 2d panel | |
Redraw | Reconstructs and redraws the target component |
ButtonName | Sent to give a meaningful name to a button on a simulated mouse-click | |
KeyMapDown | Post when a mapped key is pressed for the component | |
KeyMapUp | Post when a mapped key is released for the component | |
MappingKeys | Sent to find out how many keys it is possible to map to the component during simulation | |
MappingName | Sent to give a meaningful name to a custom key-map event for a component |