Jump to content

Component: Injector (DS1307 RTC) (): Difference between revisions

From Flowcode Help
No edit summary
No edit summary
Line 17: Line 17:
==Component Source Code==
==Component Source Code==


Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_InjectorDS1307.fcfx FC_Comp_Source_InjectorDS1307.fcfx]
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_temp/InjectorDS1307.fcfx FC_Comp_Source_temp/InjectorDS1307.fcfx]


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_InjectorDS1307.fcfx FC_Comp_Source_InjectorDS1307.fcfx]
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_temp/InjectorDS1307.fcfx FC_Comp_Source_temp/InjectorDS1307.fcfx]


==Detailed description==
==Detailed description==
Line 91: Line 91:


[[File:DS1307Ram.jpg]]
[[File:DS1307Ram.jpg]]




Line 98: Line 100:
==Macro reference==
==Macro reference==


===InitialiseInjector===
===ChangeState===
{| 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;" | '''InitialiseInjector'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeState'''
|-
|-
| colspan="2" | Sets up the injector ready to receive commands or send data 
| colspan="2" | Changes the state for I2C or SPI type comms where the data bytes along are not enough to go on. 
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | InjectorName
| width="90%" | NewState
|-
|-
| colspan="2" | Name of the console that will be created 
| colspan="2" |  
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
| 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''
|}
|}




===RxByteCount===
===GetConsoleHandle===
{| 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;" | '''RxByteCount'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetConsoleHandle'''
|-
|-
| colspan="2" | Returns the number of bytes currently sat in the receive buffer. 
| colspan="2" | Gets the handle to the console allowing data displaying on the panel etc. 
|-
|-
|-
|-
| 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-h32-icon.png]] - HANDLE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




===TxByte===
===InitialiseInjector===
{| 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;" | '''TxByte'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''InitialiseInjector'''
|-
|-
| colspan="2" | Puts a byte onto the comms channel. 
| colspan="2" | Sets up the injector ready to receive commands or send data 
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | DataByte
| width="90%" | InjectorName
|-
|-
| colspan="2" |  
| colspan="2" | Name of the console that will be created 
|-
|-
| 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''
|}
|}
Line 164: Line 166:




===GetConsoleHandle===
===RxByteCount===
{| 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;" | '''GetConsoleHandle'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RxByteCount'''
|-
|-
| colspan="2" | Gets the handle to the console allowing data displaying on the panel etc. 
| colspan="2" | Returns the number of bytes currently sat in the receive buffer. 
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| 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''
|}
|}




===ChangeState===
===TxByte===
{| 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;" | '''ChangeState'''
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''TxByte'''
|-
|-
| colspan="2" | Changes the state for I2C or SPI type comms where the data bytes along are not enough to go on. 
| colspan="2" | Puts a byte onto the comms channel. 
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | NewState
| width="90%" | DataByte
|-
|-
| colspan="2" |  
| colspan="2" |  

Revision as of 12:01, 3 February 2023

Author Matrix Ltd
Version 1.1
Category


Injector (DS1307 RTC) component

Comms data injector to allow simulation of a DS1307 Real Time Clock and RAM.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_temp/InjectorDS1307.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_temp/InjectorDS1307.fcfx

Detailed description

No detailed description exists yet for this component

Examples

This example uses the I2C master component combined with the DS1307 injector to simulate an I2C communications bus between the target Microcontroller and the virtual DS1307 device. I2C DS1307 Example The panel displays the current time from the DS1307 RAM which is populated to match the system time.


The I2C console shows the communications between the target microcontroller and simulated I2C device.


The DS1307 console shows the contents of RAM memory on the simulated I2C device.




Macro reference

ChangeState

ChangeState
Changes the state for I2C or SPI type comms where the data bytes along are not enough to go on. 
- BYTE NewState
 
- VOID Return


GetConsoleHandle

GetConsoleHandle
Gets the handle to the console allowing data displaying on the panel etc. 
- HANDLE Return


InitialiseInjector

InitialiseInjector
Sets up the injector ready to receive commands or send data 
- STRING InjectorName
Name of the console that will be created 
- BYTE Return


RxByte

RxByte
Attempt to receive a byte back from the injector 0 - 255 = Valid data 256 = RX timeout no data available 
- UINT Return


RxByteCount

RxByteCount
Returns the number of bytes currently sat in the receive buffer. 
- UINT Return


TxByte

TxByte
Puts a byte onto the comms channel. 
- BYTE DataByte
 
- VOID Return



Property reference

Properties
DS1307 Injector Settings
Circular Buffer Size
 
Termination Character
 
Device Address
 
Day Setting
Configures how the day of the week is calculated.