Difference between revisions of "Component: EEPROM (Storage)"

From Flowcode Help
Jump to navigationJump to search
 
(3 intermediate revisions by the same user not shown)
Line 14: Line 14:
 
==EEPROM component==
 
==EEPROM component==
 
A means of reading data from and writing data to the EEPROM memory onboard the microcontroller. Fully functional with simulation but the target microcontroller must have EEPROM memory available to allow compilation to work.
 
A means of reading data from and writing data to the EEPROM memory onboard the microcontroller. Fully functional with simulation but the target microcontroller must have EEPROM memory available to allow compilation to work.
 +
 +
==Component Pack==
 +
 +
STORAGE
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 22: Line 34:
  
 
==Examples==
 
==Examples==
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 63: Line 83:
 
| colspan="2" | Initial EE location to start reading 
 
| colspan="2" | Initial EE location to start reading 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
 
| width="90%" | Value
 
| width="90%" | Value
 
|-
 
|-
 
| colspan="2" | Floating point value to write 
 
| colspan="2" | Floating point value to write 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
| width="90%" | MSBFirst
 
|-
 
|-
Line 91: Line 111:
 
| colspan="2" | Initial EE location to start reading 
 
| colspan="2" | Initial EE location to start reading 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
| width="90%" | MSBFirst
 
|-
 
|-
Line 114: Line 134:
 
| colspan="2" | Initial EE location to start reading 
 
| colspan="2" | Initial EE location to start reading 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
| width="90%" | MSBFirst
 
|-
 
|-
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
| colspan="2" | 0=LSB First, 1=MSB First 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] -  
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
Line 165: Line 185:
 
| colspan="2" | Floating point value to write 
 
| colspan="2" | Floating point value to write 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
| width="90%" | MSBFirst
 
|-
 
|-
Line 229: Line 249:
 
| colspan="2" | Initial EE location to start reading 
 
| colspan="2" | Initial EE location to start reading 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
| width="90%" | MSBFirst
 
|-
 
|-
Line 303: Line 323:
 
| colspan="2" | Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
 
| colspan="2" | Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
| width="90%" | MSBFirst
 
|-
 
|-
Line 331: Line 351:
 
| colspan="2" | Floating point value to write 
 
| colspan="2" | Floating point value to write 
 
|-
 
|-
| width="10%" align="center" | [[File:]] -  
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | MSBFirst
 
| width="90%" | MSBFirst
 
|-
 
|-
Line 337: Line 357:
 
|-
 
|-
 
| 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''
 
|}
 
 
 
{| 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" | Configures each matching sensor on the bus with the specified conversion bits. 
 
|-
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''SendBinaryFloat'''
 
|-
 
| colspan="2" | Sends out a 32-bit binary floating point value split across four bytes. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | Value
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" | [[File:]] -
 
| width="90%" | MSBfirst
 
|-
 
| colspan="2" | 0=Least significant byte first, 1=Most significant byte first 
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''GetProp'''
 
|-
 
| colspan="2" | Allows the property filter for the COM port list to be copied to a parent component. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | PropName
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 
| 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;" | '''ReceiveByteArray'''
 
|-
 
| colspan="2" | Attempts to receive an array of bytes using the COM port Returns the number of bytes received.  
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Data
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | MaxLength
 
|-
 
| colspan="2" | Max number of bytes to try and read 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Timeout
 
|-
 
| colspan="2" | Time to wait for incoming data in milliseconds 
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''ReceiveString'''
 
|-
 
| colspan="2" | Attempts to receive an string using the COM port Returns the number of bytes received.  
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Timeout
 
|-
 
| colspan="2" | Time to wait for incoming data in milliseconds 
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | MaxLength
 
|-
 
| colspan="2" | Max number of bytes to try and read 
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 
| 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;" | '''PWMEnable'''
 
|-
 
| colspan="2" | Allows pulse width modulated transistor outputs to be switched on or off. Bit 0 = Enable AB Bit 1 = A / Bit 2 = B Bit 3 = C / Bit 4 = D Bit 5 = Enable CD 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | EnableMask
 
|-
 
| colspan="2" | Range 0-63 or 0b00000 to 0b111111 
 
|-
 
| 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''
 
|}
 
 
 
{| 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" |  
 
|-
 
|-
 
| 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''
 
|}
 
 
 
{| 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;" | '''GetProp'''
 
|-
 
| colspan="2" | Allows the property filter for the COM port list to be copied to a parent component. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | PropName
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
Line 524: Line 390:
 
|-
 
|-
 
| colspan="2" | Decides what to do on a simulation start event. Siim data will reset to initial values after reloading project or changing initial values property. Yes: Resets the contents of the EEPROM data to the initial values. No: EEPROM contents will be retained between simulations. 
 
| colspan="2" | Decides what to do on a simulation start event. Siim data will reset to initial values after reloading project or changing initial values property. Yes: Resets the contents of the EEPROM data to the initial values. No: EEPROM contents will be retained between simulations. 
|-
 
| 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 17:24, 9 November 2022

Author Matrix Ltd
Version 1.2
Category Storage


EEPROM component

A means of reading data from and writing data to the EEPROM memory onboard the microcontroller. Fully functional with simulation but the target microcontroller must have EEPROM memory available to allow compilation to work.

Component Pack

STORAGE

Detailed description

No detailed description exists yet for this component

Examples

The Console window can be used to show the contents of EE memory during simulation.

Image


Read and Write Bytes

Reads a value from location 0 in the EEPROM and writes back the value incremented by one, the values are displayed on to a LCD.

Starting and stopping the simulation or resetting the microcontroller will allow the program to resume counting from where it left off as opposed to a standard RAM based variable which would reset to an undetermined value. FC6 Icon.png EEPROM

Read and Write Ints

Reads a value from locations 0,1 in the EEPROM and writes back the value incremented by one, the values are displayed on to a LCD.

Starting and stopping the simulation or resetting the microcontroller will allow the program to resume counting from where it left off as opposed to a standard RAM based variable which would reset to an undetermined value. FC6 Icon.png EEPROM_INT

String variables in EE Memory

Example showing how to store and retrieve strings to and from the EEPROM memory. FC6 Icon.png EEStrings

Downloadable macro reference

Fc9-comp-macro.png WriteFloat
Writes a 32-bit float value starting at the specified address. A 32-bit float will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-f32-icon.png - FLOAT Value
Floating point value to write 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png ReadInt
Reads a 16-bit int value starting from the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png ReadFloat
Reads a 32-bit float value starting from the specified address. A 32-bit float will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-f32-icon.png - FLOAT Return


Fc9-comp-macro.png WriteByte
Writes a 8-bit byte value to the specified address. A 8-bit byte will consume 1 bytes which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
Fc9-u16-icon.png - UINT ByteAddress
Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
Fc9-u8-icon.png - BYTE Value
Floating point value to write 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png WriteInt
Writes a 16-bit int value starting at the specified address. A 16-bit int will consume 2 bytes which will be 2 locations on an 8-bit device or 1 location on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-u16-icon.png - UINT Value
Floating point value to write 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png ReadString
Reads a string of data from the EE memory starting at the specified address. 8-bit EE memory stores a character into each memory location. 16-bit EE memory stores two characters into each memory location. 
Fc9-u16-icon.png - UINT StartAddress
EE Address of the first character in the string 
Fc9-u8-icon.png - BYTE MaxChars
The maximum number of characters to try and read plus null termination 
Fc9-string-icon.png - STRING Return


Fc9-comp-macro.png Read
Reads a packet of bits from the EEPROM The number of bits read is 8 or 16, depending on the platform  
Fc9-u16-icon.png - UINT Address
The address, in elements, to read the data from 
Fc9-u16-icon.png - UINT Return


Fc9-comp-macro.png ReadLong
Reads a 32-bit long value starting from the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-u32-icon.png - ULONG Return


Fc9-comp-macro.png WriteString
Writes a string of data to the EE memory starting at the specified address. 8-bit EE memory stores a character into each memory location. 16-bit EE memory stores two characters into each memory location. 
Fc9-u16-icon.png - UINT StartAddress
EE Address of the first character in the string 
Fc9-u8-icon.png - BYTE MaxChars
The maximum number of characters to try and read plus null termination 
Fc9-string-icon.png - STRING DataString
 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png Write
Writes a packet of bits from the EEPROM The number of bits written is 8 or 16, depending on the platform  
Fc9-u16-icon.png - UINT Address
The address, in elements, to write the data to 
Fc9-u16-icon.png - UINT Value
The 8 or 16 bit value to store in EEPROM 
Fc9-void-icon.png - VOID Return


Fc9-comp-macro.png ReadByte
Reads a 8-bit byte value starting from the specified address. A 8-bit byte will consume 1 byte which will be 1 locations on an 8-bit device or half a location on a 16-bit device. 
Fc9-u16-icon.png - UINT ByteAddress
Byte address, EEADDR on 8-bit device or EEADDR/2 on a 16-bit device 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-u8-icon.png - BYTE Return


Fc9-comp-macro.png WriteLong
Writes a 32-bit long value starting at the specified address. A 32-bit long will consume 4 bytes which will be 4 locations on an 8-bit device or 2 locations on a 16-bit device. 
Fc9-u16-icon.png - UINT StartAddress
Initial EE location to start reading 
Fc9-u32-icon.png - ULONG Value
Floating point value to write 
Fc9-bool-icon.png - BOOL MSBFirst
0=LSB First, 1=MSB First 
Fc9-void-icon.png - VOID Return



Property reference

Fc9-prop-icon.png Properties
Fc9-type-10-icon.png EE Size
Number of memory locations available in EEPROM onboard the target microcontroller. 
Fc9-type-10-icon.png EE Bit Depth
Number of bits in each EEPROM memory location onboard the target microcontroller. 
Fc9-type-10-icon.png Initial Values
Comma seperated list of values to assign to the EEPROM memory while programming the device. The simulation will automatically load these values into the simulated EE locations on simulation start. Leave blank to remove initialisation code from the compiled C code Supported Formats Decimal 0 - 255 Hexadecimal 0x00 - 0xFF ASCII character 'x' Strings "text" 
Fc9-type-7-icon.png Reset To Defaults
Decides what to do on a simulation start event. Siim data will reset to initial values after reloading project or changing initial values property. Yes: Resets the contents of the EEPROM data to the initial values. No: EEPROM contents will be retained between simulations.