Difference between revisions of "Component: Level (DSP)"
From Flowcode Help
Jump to navigationJump to searchLine 1: | Line 1: | ||
− | + | {| style="width:50%" | |
− | |||
− | {| | ||
|- | |- | ||
− | | width="20%" style="color: gray;" | Author | + | | width="20%" style="color:gray;" | Author |
| Matrix Ltd | | Matrix Ltd | ||
|- | |- | ||
− | | width="20%" style="color: gray;" | Version | + | | width="20%" style="color:gray;" | Version |
− | | 1.2 | + | | 1.2 |
|- | |- | ||
− | | width="20%" style="color: gray;" | Category | + | | width="20%" style="color:gray;" | Category |
| DSP | | DSP | ||
|} | |} | ||
+ | ==Level component== | ||
+ | Allows for detection and collection of peaks, troughs and averages. | ||
− | == | + | ==Detailed description== |
− | + | ||
+ | ''No detailed description exists yet for this component'' | ||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
Here is a basic example of the Level component. The example collects the max, min and average readings from the buffer and displays them on the LCD display. | Here is a basic example of the Level component. The example collects the max, min and average readings from the buffer and displays them on the LCD display. | ||
Line 37: | Line 40: | ||
==Downloadable macro reference== | ==Downloadable macro reference== | ||
− | === | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
− | Returns the | + | |- |
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadTroughArray''' | ||
+ | |- | ||
+ | | colspan="2" | Returns the lowest value from the last "Decay" number of buffers. | ||
+ | |- | ||
+ | |- | ||
+ | | 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;" | '''ReadTrough''' | ||
+ | |- | ||
+ | | colspan="2" | Returns the lowest value from the last "Decay" number of index locations. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] - | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
− | '''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;" | '''ReadAverage''' | ||
+ | |- | ||
+ | | colspan="2" | Returns the average from the last "Decay" number of index locations. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] - | ||
+ | | 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;" | '''ReadPeakArray''' | ||
+ | |- | ||
+ | | colspan="2" | Returns the highest value from the last "Decay" number of buffers. | ||
+ | |- | ||
+ | |- | ||
+ | | 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;" | '''ReadAverageArray''' | ||
+ | |- | ||
+ | | colspan="2" | Returns the average from the last "Decay" number of buffers. | ||
+ | |- | ||
+ | |- | ||
+ | | 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;" | '''ReadPeak''' | ||
+ | |- | ||
+ | | colspan="2" | Returns the highest value from the last "Decay" number of index locations. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] - | ||
+ | | 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;" | '''ResetRecords''' | ||
+ | |- | ||
+ | | colspan="2" | Allows the peak and trough to be reset back to default values. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:]] - | ||
+ | | width="90%" | ResetPeak | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:]] - | ||
+ | | width="90%" | ResetTrough | ||
+ | |- | ||
+ | | 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;" | '''GetReplyByte''' | ||
+ | |- | ||
+ | | colspan="2" | Reads a single byte from the last reply. Each reply contains 4 bytes starting with the command code. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Index | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-3 / 0=Command, 1=Feedback, 2=Data MSB, 3=Data LSB | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | |||
− | :'' | + | {| 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;" | '''SkipTrack''' | ||
+ | |- | ||
+ | | colspan="2" | Jump to the next or previous track | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:]] - | ||
+ | | width="90%" | Direction | ||
+ | |- | ||
+ | | colspan="2" | 0=Next, 1=Previous | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
− | '''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;" | '''PlayTrack''' | ||
+ | |- | ||
+ | | colspan="2" | Plays track from the selected folder. MP3 & Advert folder track numbers should be 4 characters long e.g. 0001 any name.mp3, Other folder track numbers should be 3 characters long e.g. 001 Any name.mp3, Root the Track played in placement order. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Directory | ||
+ | |- | ||
+ | | colspan="2" | 0=Root, 1=Folder "01" - 99=Folder "99", 100=MP3, 101=Advert | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
+ | | width="90%" | Track | ||
+ | |- | ||
+ | | colspan="2" | Track number 1="001*.MP3" / "0001*.MP3", 100="100*.MP3" / "0100*.MP3" | ||
+ | |- | ||
+ | | 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" | Sets up the UART and does some housekeeping. Must be called before calling any of the other component macros. | ||
+ | |- | ||
+ | |- | ||
+ | | 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;" | '''ReadAnalogAsInt''' | ||
+ | |- | ||
+ | | colspan="2" | Reads one of the analogue components as an Integer value | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Channel | ||
+ | |- | ||
+ | | colspan="2" | 0 = LDR, 1 = POT | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:]] - | ||
+ | | 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;" | '''RemapCharacter''' | ||
+ | |- | ||
+ | | colspan="2" | Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | RemapIdx | ||
+ | |- | ||
+ | | colspan="2" | Remap Index, Range: 0 to (Remap Characters - 1) | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | SearchCharacter | ||
+ | |- | ||
+ | | colspan="2" | Character to look for a replace | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | ReplacementCharacter | ||
+ | |- | ||
+ | | colspan="2" | New character value to use in place of the search character. | ||
+ | |- | ||
+ | | 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;" | '''Start''' | ||
+ | |- | ||
+ | | colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising. | ||
+ | |- | ||
+ | |- | ||
+ | | 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;" | '''SetLEDState''' | ||
+ | |- | ||
+ | | colspan="2" | Sets the state of a single LED | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Port | ||
+ | |- | ||
+ | | colspan="2" | 0 = PortA, 1 = PortB | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | LED | ||
+ | |- | ||
+ | | colspan="2" | 0 = LED0, 7 = LED7 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | State | ||
+ | |- | ||
+ | | 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;" | '''Initialise''' |
− | + | |- | |
− | + | | colspan="2" | Must be called before any other CAN component macros to enable and initialise the CAN peripheral. | |
− | + | |- | |
− | + | |- | |
− | == | + | | 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'' | |
− | + | |} | |
− | '' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Property reference== | ==Property reference== | ||
− | |||
− | + | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |
− | + | |- | |
− | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |
− | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |
− | + | |- | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-17-icon.png]] | |
− | + | | width="90%" | Connect To | |
− | + | |- | |
− | + | | colspan="2" | DSP component with output buffer to collect our data from. | |
− | + | |- | |
− | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |
− | + | | width="90%" | Decay on Peak/Trough | |
− | + | |- | |
− | Configures how many buffers or values to allow a record to persist | + | | colspan="2" | Yes - The Peak and Trough value will only be maintained for the decay number of buffers. No - The record Peak and Trough values will be maintained until reset. |
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] | ||
+ | | width="90%" | Decay | ||
+ | |- | ||
+ | | colspan="2" | Configures how many buffers or values to allow a record to persist | ||
+ | |- | ||
+ | | 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''' | ||
+ | |- | ||
+ | |} |
Revision as of 16:53, 16 November 2021
Author | Matrix Ltd |
Version | 1.2 |
Category | DSP |
Contents
Level component
Allows for detection and collection of peaks, troughs and averages.
Detailed description
No detailed description exists yet for this component
Examples
Here is a basic example of the Level component. The example collects the max, min and average readings from the buffer and displays them on the LCD display.
The values in the buffer are defined using the InputADC component.
Min: Minimum (smallest) value read from the buffer.
Max: Maximum (largest) value read from the buffer.
Average: Rolling average calculated from the values inside the buffer.
Downloadable macro reference
![]() |
ReadTroughArray |
Returns the lowest value from the last "Decay" number of buffers. | |
![]() |
Return |
![]() |
ReadTrough |
Returns the lowest value from the last "Decay" number of index locations. | |
[[File:]] - | Return |
![]() |
ReadAverage |
Returns the average from the last "Decay" number of index locations. | |
[[File:]] - | Return |
![]() |
ReadPeakArray |
Returns the highest value from the last "Decay" number of buffers. | |
![]() |
Return |
![]() |
ReadAverageArray |
Returns the average from the last "Decay" number of buffers. | |
![]() |
Return |
![]() |
ReadPeak |
Returns the highest value from the last "Decay" number of index locations. | |
[[File:]] - | Return |
![]() |
ResetRecords |
Allows the peak and trough to be reset back to default values. | |
[[File:]] - | ResetPeak |
[[File:]] - | ResetTrough |
![]() |
Return |
![]() |
GetReplyByte |
Reads a single byte from the last reply. Each reply contains 4 bytes starting with the command code. | |
![]() |
Index |
Range: 0-3 / 0=Command, 1=Feedback, 2=Data MSB, 3=Data LSB | |
![]() |
Return |
![]() |
SkipTrack |
Jump to the next or previous track | |
[[File:]] - | Direction |
0=Next, 1=Previous | |
![]() |
Return |
![]() |
Initialise |
Sets up the UART and does some housekeeping. Must be called before calling any of the other component macros. | |
![]() |
Return |
![]() |
ReadAnalogAsInt |
Reads one of the analogue components as an Integer value | |
![]() |
Channel |
0 = LDR, 1 = POT | |
[[File:]] - | Return |
![]() |
Start |
Startup routine required by the hardware device. Automatically clears the display after initialising. | |
![]() |
Return |
![]() |
SetLEDState |
Sets the state of a single LED | |
![]() |
Port |
0 = PortA, 1 = PortB | |
![]() |
LED |
0 = LED0, 7 = LED7 | |
![]() |
State |
![]() |
Return |
![]() |
Initialise |
Must be called before any other CAN component macros to enable and initialise the CAN peripheral. | |
![]() |
Return |