Difference between revisions of "Components"

From Flowcode Help
Jump to navigationJump to search
 
(108 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
 
| 16-bit external ADC connected to the microcontroller using SPI.
 
| 16-bit external ADC connected to the microcontroller using SPI.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 235fd689_bfd1_4c4a_a918_6c3c36e9a49f.png|Image]] [[Component: ID 235fd689_bfd1_4c4a_a918_6c3c36e9a49f|ADC (MCP356X)]]
 +
 +
| An external ADC featuring 2, 4, or 8 channel 24-bit input.Capable of reading each channel independently or in differential mode.Communication using an SPI bus up to 20MHz.
 +
 +
|-
 +
|width=30%|[[File:Component Icon e65e5368_af24_44a9_897e_cb0422fcea27.png|Image]] [[Component: ID e65e5368_af24_44a9_897e_cb0422fcea27|ADC QUAD + DAC (PCF8591)]]
 +
 +
| An I2C device allowing for up to 4 x 8-bit analogue inputs as well as 1 x 8-bit analogue output.Up to 8 devices can be used together ona signel I2C bus.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon 7aad74d6_b24e_4dab_91eb_5d72a973f12d.png|Image]] [[Component: ID 7aad74d6_b24e_4dab_91eb_5d72a973f12d|ADC Template]]
 
|width=30%|[[File:Component Icon 7aad74d6_b24e_4dab_91eb_5d72a973f12d.png|Image]] [[Component: ID 7aad74d6_b24e_4dab_91eb_5d72a973f12d|ADC Template]]
  
| ADC (Analogue to Digital Converter) based components.
+
| Internal ADC (Analogue to Digital Converter) based components.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 74571cdc_4f94_4e9a_b56b_376f36424996.png|Image]] [[Component: ID 74571cdc_4f94_4e9a_b56b_376f36424996|Joystick (Sparkfun Quiic)]]
 +
 
 +
| An XY sprung joystick with click switch allowing for easy user input control.Connected using I2C bus.
 
|}
 
|}
 +
 
===General Input===
 
===General Input===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
|width=30%|[[File:Component Icon 3531a68d_7686_44b7_a3a5_67afda8467dc.png|Image]] [[Component: ID 3531a68d_7686_44b7_a3a5_67afda8467dc|Encoder Rotary]]
 
  
| Encoder component implements a rotary encoder connected to two pins
+
|width=30%|[[File:Component Icon 0e4cb9c6_10d4_416f_bc27_5f8f7bc746b4.png|Image]] [[Component: ID 0e4cb9c6_10d4_416f_bc27_5f8f7bc746b4|Grey Code Encoder]]
 +
 
 +
| Grey Code Encoder component implements a rotary encoder connected to a defined number of pinsGrey Code Encoders provide absolute positioning rather than incremental positioning.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 3531a68d_7686_44b7_a3a5_67afda8467dc.png|Image]] [[Component: ID 3531a68d_7686_44b7_a3a5_67afda8467dc|Quadrature Encoder]]
 +
 
 +
| Quadrature Encoder component implements a rotary encoder connected to two pins.Quadrature Encoders provides incremental positioning rather than absolute positioning.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 8c4c9db2_8c42_458d_b071_001acd191c49.png|Image]] [[Component: ID 8c4c9db2_8c42_458d_b071_001acd191c49|Wii Nunchuk]]
 +
 
 +
| A component to interface the Wii Nunchuck which features a 3-axis 10-bit AccelerometerA 2-axis 8-bit joystick and two digital button inputs.Interfaced using a standard I2C bus at 100KHz.Nunchuk must be powered at 3V3 to avoid damage.
 
|}
 
|}
 +
 
===Keypad===
 
===Keypad===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
 +
 +
|width=30%|[[File:Component Icon 6c74b9ee_2907_4b1e_8a9b_80fc192b6027.png|Image]] [[Component: ID 6c74b9ee_2907_4b1e_8a9b_80fc192b6027|Keypad (4x4)]]
 +
 +
| Preset keypad based around the 4 * 4 unit.
 +
 +
|-
 
|width=30%|[[File:Component Icon b80e57b1_8941_4831_878b_b27440b4f4d8.png|Image]] [[Component: ID b80e57b1_8941_4831_878b_b27440b4f4d8|Keypad (Generic)]]
 
|width=30%|[[File:Component Icon b80e57b1_8941_4831_878b_b27440b4f4d8.png|Image]] [[Component: ID b80e57b1_8941_4831_878b_b27440b4f4d8|Keypad (Generic)]]
  
| Generic component to create a raster scanned custom keypad or button matrix.
+
| Keypad components based on raster scanned keypad modules or a simple button matrix.
 
|}
 
|}
 +
 
===Switch===
 
===Switch===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
 +
|width=30%|[[File:Component Icon 9306f758_06af_49f8_8b09_d10d2b4374dd.png|Image]] [[Component: ID 9306f758_06af_49f8_8b09_d10d2b4374dd|Rotary Switch]]
 +
 +
| A standard rotary switch with 4 digital outputs and 10 or 16 discrete positions.
 +
 +
|-
 
|width=30%|[[File:Component Icon 6f2c4205_6a87_46ba_a8b4_8c869e144fcd.png|Image]] [[Component: ID 6f2c4205_6a87_46ba_a8b4_8c869e144fcd|Switch (Microswitch)]]
 
|width=30%|[[File:Component Icon 6f2c4205_6a87_46ba_a8b4_8c869e144fcd.png|Image]] [[Component: ID 6f2c4205_6a87_46ba_a8b4_8c869e144fcd|Switch (Microswitch)]]
  
Line 35: Line 75:
 
|width=30%|[[File:Component Icon 953a042a_b2aa_4f2e_94e2_ee2979cfc92e.png|Image]] [[Component: ID 953a042a_b2aa_4f2e_94e2_ee2979cfc92e|Switch Template]]
 
|width=30%|[[File:Component Icon 953a042a_b2aa_4f2e_94e2_ee2979cfc92e.png|Image]] [[Component: ID 953a042a_b2aa_4f2e_94e2_ee2979cfc92e|Switch Template]]
  
| Simple single digital switch inputs.
+
| Single switch digital input components.
 
|}
 
|}
 +
 
===Switches===
 
===Switches===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
|width=30%|[[File:Component Icon c0df38ee_7a7e_4a0a_bfd5_5a7745203826.png|Image]] [[Component: ID c0df38ee_7a7e_4a0a_bfd5_5a7745203826|Switch Array Template]]
+
|width=30%|[[File:Component Icon 208101fb_f735_4e83_980b_c1d2b4be28ff.png|Image]] [[Component: ID 208101fb_f735_4e83_980b_c1d2b4be28ff|Switch Array (Push)]]
  
| Evenly spaced arrays of switches.
+
| An array of up to eight momentary push switches, each connected to a single pin of the specified port.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 4ac72986_ad7d_49ce_afe5_9128831debc9.png|Image]] [[Component: ID 4ac72986_ad7d_49ce_afe5_9128831debc9|Switch Array (Slide)]]
 +
 
 +
| An array of up to eight slide switches, each connected to a single pin of the specified port.
 
|}
 
|}
  
Line 59: Line 105:
  
 
|-
 
|-
|width=30%|[[File:Component Icon 70a3bead_e66d_4a76_bc7b_fb1baa86d2e6.png|Image]] [[Component: ID 70a3bead_e66d_4a76_bc7b_fb1baa86d2e6|DAC (MCP47x6) (MCP47x6)]]
+
|width=30%|[[File:Component Icon 70a3bead_e66d_4a76_bc7b_fb1baa86d2e6.png|Image]] [[Component: ID 70a3bead_e66d_4a76_bc7b_fb1baa86d2e6|DAC (MCP47x6)]]
  
 
| Component to drive a digital to analogue converter (DAC) IC from Microchip via an I2C interface.Compatible with MCP4706 (8-Bit), MCP4716 (10-Bit) and MCP4726 (12-Bit) devices.
 
| Component to drive a digital to analogue converter (DAC) IC from Microchip via an I2C interface.Compatible with MCP4706 (8-Bit), MCP4716 (10-Bit) and MCP4726 (12-Bit) devices.
  
 
|-
 
|-
|width=30%|[[File:Component Icon fab5cf20_8686_4397_8a21_cc936659d5f6.png|Image]] [[Component: ID fab5cf20_8686_4397_8a21_cc936659d5f6|DAC (MCP48x1) (MCP48x1)]]
+
|width=30%|[[File:Component Icon fab5cf20_8686_4397_8a21_cc936659d5f6.png|Image]] [[Component: ID fab5cf20_8686_4397_8a21_cc936659d5f6|DAC (MCP48x1)]]
  
 
| Component to drive a digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4801 (8-Bit), MCP4811 (10-Bit) and MCP4821 (12-Bit) devices.
 
| Component to drive a digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4801 (8-Bit), MCP4811 (10-Bit) and MCP4821 (12-Bit) devices.
 +
 +
|-
 +
|width=30%|[[File:Component Icon b6de5668_e0ae_4c1a_9c16_b16aa3f58024.png|Image]] [[Component: ID b6de5668_e0ae_4c1a_9c16_b16aa3f58024|DAC (MCP49x1)]]
 +
 +
| Component to drive a digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4901 (8-Bit), MCP4911 (10-Bit) and MCP4921 (12-Bit) devices.
 +
 +
|-
 +
|width=30%|[[File:Component Icon f484e96a_af4f_434e_a002_70d3f4315dfb.png|Image]] [[Component: ID f484e96a_af4f_434e_a002_70d3f4315dfb|DAC Dual (MCP48x2)]]
 +
 +
| Component to drive a dual digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4802 (8-Bit), MCP4812 (10-Bit) and MCP4822 (12-Bit) devices.
  
 
|-
 
|-
Line 74: Line 130:
  
 
|-
 
|-
|width=30%|[[File:Component Icon adb523db_db13_4d19_bfa3_0fbc177e4d3f.png|Image]] [[Component: ID adb523db_db13_4d19_bfa3_0fbc177e4d3f|DAC Quad (MCP4728) (MCP4728)]]
+
|width=30%|[[File:Component Icon adb523db_db13_4d19_bfa3_0fbc177e4d3f.png|Image]] [[Component: ID adb523db_db13_4d19_bfa3_0fbc177e4d3f|DAC Quad (MCP4728)]]
  
 
| Component to drive a quad digital to analogue converter (DAC) IC from Microchip via an I2C interface.Compatible with MCP4728 (12-Bit) devices.
 
| Component to drive a quad digital to analogue converter (DAC) IC from Microchip via an I2C interface.Compatible with MCP4728 (12-Bit) devices.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 37025734_a84d_46ad_9078_925beb81f38b.png|Image]] [[Component: ID 37025734_a84d_46ad_9078_925beb81f38b|Digital Potentiometer (MCP41XX MCP42XX)]]
 +
 +
| The MCP41XX and MCP42XX device range supports up to 2 digital potentiometers or rheostat outputs.129 or 257 possible output resistance values for each channel.
  
 
|-
 
|-
Line 84: Line 145:
  
 
|-
 
|-
|width=30%|[[File:Component Icon a69bf9b3_272e_44b3_a47d_22f53c3c0804.png|Image]] [[Component: ID a69bf9b3_272e_44b3_a47d_22f53c3c0804|Digital Potentiometer (MCP45XX MCP46XX)]]
+
|width=30%|[[File:Component Icon a69bf9b3_272e_44b3_a47d_22f53c3c0804.png|Image]] [[Component: ID a69bf9b3_272e_44b3_a47d_22f53c3c0804|Digital Potentiometer (MCP45XX / MCP46XX)]]
  
 
| The MCP45XX and MCP46XX device range supports up to 2 digital potentiometers or rheostat outputs.129 or 257 possible output resistance values for each channel.  
 
| The MCP45XX and MCP46XX device range supports up to 2 digital potentiometers or rheostat outputs.129 or 257 possible output resistance values for each channel.  
 +
 +
|-
 +
|width=30%|[[File:Component Icon 0a0819d2_73b7_4bc2_bc11_f3139972d224.png|Image]] [[Component: ID 0a0819d2_73b7_4bc2_bc11_f3139972d224|Digital Potentiometer (X9Cx0x)]]
 +
 +
| The X9Cx0x device range supports a digital potentiometers outputs.100 possible wiper tap points available. Supported devices include X9C102, X9C103, X9C104, X9C503.
 
|}
 
|}
 +
 
===Audio Output===
 
===Audio Output===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
Line 105: Line 172:
 
| Speech component allowing Phoneme based speech for use on an embedded platform.The simulation also has an advanced speech engine allowing realistic text to speech in multiple languages using the RealSpeak voice engine.
 
| Speech component allowing Phoneme based speech for use on an embedded platform.The simulation also has an advanced speech engine allowing realistic text to speech in multiple languages using the RealSpeak voice engine.
  
|-
+
|}
|width=30%|[[File:Component Icon 4ae66a67_562d_4d77_8417_9cd652f4f103.png|Image]] [[Component: ID 4ae66a67_562d_4d77_8417_9cd652f4f103|Speech (RealSpeak)]]
 
  
| Advanced speech engine allowing realistic text to speech in multiple languages using the RealSpeak voice engine.Available in simulation only.
 
|}
 
 
===General Output===
 
===General Output===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
Line 116: Line 180:
  
 
| Pulse Width Modulation, a versitile way of generating a digital pulse using mark / space modulation.Uses the capture compare peripherals onboard most Microcontrollers to generate accurate waveforms without any intervention from the processor.Useful for generating audio, controlling the speed of motors, brightness of LED etc.
 
| Pulse Width Modulation, a versitile way of generating a digital pulse using mark / space modulation.Uses the capture compare peripherals onboard most Microcontrollers to generate accurate waveforms without any intervention from the processor.Useful for generating audio, controlling the speed of motors, brightness of LED etc.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 5bd41be2_1b9c_4f30_ba78_84cb29d61ced.png|Image]] [[Component: ID 5bd41be2_1b9c_4f30_ba78_84cb29d61ced|PWM 16CH 12Bit (PCA9685)]]
 +
 +
| The PCA9685 is an I²C-bus controlled 16-channel LED controller optimized for Red/Green/Blue/Amber (RGBA) color backlighting or Servo motor applications. Each output has its own 12-bit resolution (4096 steps) fixed frequency individual PWM controller that operates at a programmable frequency from a typical of 24 Hz to 1526 Hz.All outputs are set to the same PWM frequency.Up to 64 devices can be chained together on a single I²C-bus to provide up to 1024 individual PWM outputs.
  
 
|-
 
|-
Line 122: Line 191:
 
| The Relay is a digital normally open switch capable of switching much higher voltages and currents than your normal Microcontroller outputs.When set to HIGH, the LED will light up and the relay will close allowing current to flow. The peak voltage capability is 250V at 10 amps.Simulated component is shaded green when the relay is active.
 
| The Relay is a digital normally open switch capable of switching much higher voltages and currents than your normal Microcontroller outputs.When set to HIGH, the LED will light up and the relay will close allowing current to flow. The peak voltage capability is 250V at 10 amps.Simulated component is shaded green when the relay is active.
 
|}
 
|}
 +
 
===LED===
 
===LED===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
Line 142: Line 212:
 
|width=30%|[[File:Component Icon a7b05886_784c_48c8_a6f6_cc371c7728e1.png|Image]] [[Component: ID a7b05886_784c_48c8_a6f6_cc371c7728e1|LED Template]]
 
|width=30%|[[File:Component Icon a7b05886_784c_48c8_a6f6_cc371c7728e1.png|Image]] [[Component: ID a7b05886_784c_48c8_a6f6_cc371c7728e1|LED Template]]
  
| Base for creating LEDs and other on/off visual indicators.Choose a 'Target Object' that will change colour when the pin changes;if multiple objects must change color, group them, and target the group.When 'Auto off color" is selected, changing the 'on color' will automaticallychoose an off color by reducing the on-color intensity.
+
| Single LED digital output components.  
 
|}
 
|}
  
Line 155: Line 225:
 
|width=30%|[[File:Component Icon c8da67a7_fc7b_48c0_8c3f_3264c74f4024.png|Image]] [[Component: ID c8da67a7_fc7b_48c0_8c3f_3264c74f4024|LED Array Template]]
 
|width=30%|[[File:Component Icon c8da67a7_fc7b_48c0_8c3f_3264c74f4024.png|Image]] [[Component: ID c8da67a7_fc7b_48c0_8c3f_3264c74f4024|LED Array Template]]
  
| Create an evenly spaced array of LED indicators.Each will be connected to sequential pins of a given I/O port.Set target object to point at any standard LED component to change the style.
+
| Multiple LED digital output components.
  
 
|-
 
|-
Line 183: Line 253:
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0161e243_0ca0_497d_88be_76351cf4dfa1.png|Image]] [[Component: ID 0161e243_0ca0_497d_88be_76351cf4dfa1|NeoPixel LED APA102C]]
+
|width=30%|[[File:Component Icon 0161e243_0ca0_497d_88be_76351cf4dfa1.png|Image]] [[Component: ID 0161e243_0ca0_497d_88be_76351cf4dfa1|RGB LED APA102C]]
  
 
| A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Supports Bit Banged or SPI peripheral based data modes.
 
| A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Supports Bit Banged or SPI peripheral based data modes.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d814cb36_0d04_4eeb_b5b3_da8276ad8bdf.png|Image]] [[Component: ID d814cb36_0d04_4eeb_b5b3_da8276ad8bdf|NeoPixel LED WS2801]]
+
|width=30%|[[File:Component Icon d814cb36_0d04_4eeb_b5b3_da8276ad8bdf.png|Image]] [[Component: ID d814cb36_0d04_4eeb_b5b3_da8276ad8bdf|RGB LED WS2801]]
  
 
| A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Supports Bit Banged or SPI peripheral based data modes.
 
| A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Supports Bit Banged or SPI peripheral based data modes.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d977c3ef_c7dc_4683_a1be_76e17e6ba12b.png|Image]] [[Component: ID d977c3ef_c7dc_4683_a1be_76e17e6ba12b|NeoPixel LED WS2811 WS2812 APA106]]
+
|width=30%|[[File:Component Icon d977c3ef_c7dc_4683_a1be_76e17e6ba12b.png|Image]] [[Component: ID d977c3ef_c7dc_4683_a1be_76e17e6ba12b|RGB LED WS2811 WS2812 APA106]]
  
 
| A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Compatible with the WS2811, WS2812, WS2812B, APA104 and APA106 Type Controller ICs.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Requires a high speed microcontroller to generate the critical timings to drive the device.
 
| A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Compatible with the WS2811, WS2812, WS2812B, APA104 and APA106 Type Controller ICs.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Requires a high speed microcontroller to generate the critical timings to drive the device.
 
|}
 
|}
 +
 
===Mechatronics===
 
===Mechatronics===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
|width=30%|[[File:Component Icon 952471c7_11ca_430b_ab72_4fda8b195f83.png|Image]] [[Component: ID 952471c7_11ca_430b_ab72_4fda8b195f83|Motor Template]]
+
|width=30%|[[File:Component Icon 83c095cc_fefc_4854_a7c5_7fe867753bf4.png|Image]] [[Component: ID 83c095cc_fefc_4854_a7c5_7fe867753bf4|Coupling]]
  
| Base component for constructing continuous motion - e.g. motors.Automatically animates two objects - one within the same host components (e.g. moving partsof the motor itself), and one external (e.g. the mechanism to which the motor is connected).
+
| A simple component to couple together two rotating shafts.An essential component when working with motors, gearboxes, encoders and other rotational systems.  
  
 
|-
 
|-
|width=30%|[[File:Component Icon 9202a62e_0a42_4780_adce_16b701e5ec53.png|Image]] [[Component: ID 9202a62e_0a42_4780_adce_16b701e5ec53|Servo Motor Controller]]
+
|width=30%|[[File:Component Icon bfa45502_f9d6_4b53_a239_b5731f9288d5.png|Image]] [[Component: ID bfa45502_f9d6_4b53_a239_b5731f9288d5|Gearbox]]
  
| Can control up to eight standard PWM driven servo's.Supports 8-bit and 16-bit movement resolutions.'Servo Object' properties allow you to connect the controller to on-screen simulations using the "Servo Motor" component and its derivatives.
+
| A simple component to couple together two rotating shafts via a gearbox.The gearbox can be used to scale the input rotational speed and optionally reverse the output direction.
  
 
|-
 
|-
|width=30%|[[File:Component Icon fbad3c39_8c38_49b7_a860_ae37e9b979a2.png|Image]] [[Component: ID fbad3c39_8c38_49b7_a860_ae37e9b979a2|Servo Motor Template]]
+
|width=30%|[[File:Component Icon 15921536_cf92_4cd3_88e4_207c251ab775.png|Image]] [[Component: ID 15921536_cf92_4cd3_88e4_207c251ab775|Linear Actuator]]
  
| Base component for creating custom servo motor simulations.Recieves messages  from the the 'Servo Controller' component.Macro 'SetTarget' allows external objects to be moved by the servofor mechanical simulations.
+
| Creates a linear actuator that can be used with the various motor components via a coupling or gearbox.
  
 
|-
 
|-
|width=30%|[[File:Component Icon eb1db17a_1c6c_44ef_84d0_d718549343c4.png|Image]] [[Component: ID eb1db17a_1c6c_44ef_84d0_d718549343c4|Solenoid Template]]
+
|width=30%|[[File:Component Icon 952471c7_11ca_430b_ab72_4fda8b195f83.png|Image]] [[Component: ID 952471c7_11ca_430b_ab72_4fda8b195f83|Motor Template]]
 +
 
 +
| Base component for constructing continuous motion - e.g. motors.Automatically animates two objects - one within the same host components (e.g. moving partsof the motor itself), and one external (e.g. the mechanism to which the motor is connected).
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 9202a62e_0a42_4780_adce_16b701e5ec53.png|Image]] [[Component: ID 9202a62e_0a42_4780_adce_16b701e5ec53|Servo Motor Controller]]
 +
 
 +
| Can control up to eight standard PWM driven servo's.Supports 8-bit and 16-bit movement resolutions.'Servo Object' properties allow you to connect the controller to on-screen simulations using the "Servo Motor" component and its derivatives.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon fbad3c39_8c38_49b7_a860_ae37e9b979a2.png|Image]] [[Component: ID fbad3c39_8c38_49b7_a860_ae37e9b979a2|Servo Motor Template]]
 +
 
 +
| Base component for creating custom servo motor simulations.Recieves messages  from the the 'Servo Controller' component.Macro 'SetTarget' allows external objects to be moved by the servofor mechanical simulations.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon eb1db17a_1c6c_44ef_84d0_d718549343c4.png|Image]] [[Component: ID eb1db17a_1c6c_44ef_84d0_d718549343c4|Solenoid Template]]
  
 
| Base component for constructing solenoids.These take a single input pin and move an actuator between two positions depending onthe pin state.
 
| Base component for constructing solenoids.These take a single input pin and move an actuator between two positions depending onthe pin state.
Line 249: Line 335:
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0506f9ed_0e0e_493f_a08b_e9e66052b13e.png|Image]] [[Component: ID 0506f9ed_0e0e_493f_a08b_e9e66052b13e|LCD control]]
+
|width=30%|[[File:Component Icon c198e346_6b0f_4309_973c_78d7207e0b96.png|Image]] [[Component: ID c198e346_6b0f_4309_973c_78d7207e0b96|LCD SPI (MiniClick)]]
 +
 
 +
| Generic alphanumeric LCD display based on the standard Hitachi HD44780 controller IC.Connected using an SPI based MCP23S17 SPI IO Expander IC as used on the LCD Mini Click.
  
| An LCD control pane supporting up to 64 x 64 unitsSuitable for simulation only
 
 
|}
 
|}
  
Line 257: Line 344:
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
 +
|width=30%|[[File:Component Icon b0f3982e_7ca6_4504_afe5_1b76fa09fad1.png|Image]] [[Component: ID b0f3982e_7ca6_4504_afe5_1b76fa09fad1|Drawing Area]]
 +
 +
| Simulation runtime only graphical display component designed for SCADA operations.Allows easy pixel based displays and support for the GLCD libraries such as bitmap drawer and textfield.
 +
 +
|-
 
|width=30%|[[File:Component Icon 07698cde_7f30_419b_825c_35450877ad26.png|Image]] [[Component: ID 07698cde_7f30_419b_825c_35450877ad26|GLCD (4D Goldelox)]]
 
|width=30%|[[File:Component Icon 07698cde_7f30_419b_825c_35450877ad26.png|Image]] [[Component: ID 07698cde_7f30_419b_825c_35450877ad26|GLCD (4D Goldelox)]]
  
Line 315: Line 407:
  
 
| Graphical display component designed to work with the SSD1963 controller ICBased on the SSD1963 16-bit colour graphical controller IC.
 
| Graphical display component designed to work with the SSD1963 controller ICBased on the SSD1963 16-bit colour graphical controller IC.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 4e30b15e_2507_4583_995d_b2056e04a286.png|Image]] [[Component: ID 4e30b15e_2507_4583_995d_b2056e04a286|GLCD (ST7789V)]]
 +
 +
| Graphical display component designed to work with the ST7789V 16-bit colour graphical controller IC.
  
 
|-
 
|-
Line 330: Line 427:
  
 
| Graphical display component designed to work with the STM32F746NG Discovery board from ST. Compatible with the large display and capacitive touch input.
 
| Graphical display component designed to work with the STM32F746NG Discovery board from ST. Compatible with the large display and capacitive touch input.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 756045fb_388b_4dbb_8f10_5136de8bfacb.png|Image]] [[Component: ID 756045fb_388b_4dbb_8f10_5136de8bfacb|Nextion Display]]
 +
 +
| A simple libray to interface a Nextion display.The elements on the nextion display are built using the Nextion  Editor software and uploaded to the display.The component can then interact with the display elements.
  
 
|-
 
|-
Line 336: Line 438:
 
| Graphical display component designed to work with the HDMI screen output of the Raspberry Pi
 
| Graphical display component designed to work with the HDMI screen output of the Raspberry Pi
 
|}
 
|}
 +
 
===Graphical Library===
 
===Graphical Library===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
 +
|width=30%|[[File:Component Icon cbfb3c21_f13d_488d_9b90_400c8d4fc605.png|Image]] [[Component: ID cbfb3c21_f13d_488d_9b90_400c8d4fc605|Display Manager]]
 +
 +
| A component designed to simplify the process of drawing primitives and text onto a graphical display. Keeps track of coordinates so you don't have to.Also works great as a base layer for gLCD based games as it will check for collisions and perform movement.
 +
 +
|-
 
|width=30%|[[File:Component Icon b02b7c75_53cb_4be4_871f_61be633d898c.png|Image]] [[Component: ID b02b7c75_53cb_4be4_871f_61be633d898c|GLCD Bitmap Drawer FAT]]
 
|width=30%|[[File:Component Icon b02b7c75_53cb_4be4_871f_61be633d898c.png|Image]] [[Component: ID b02b7c75_53cb_4be4_871f_61be633d898c|GLCD Bitmap Drawer FAT]]
  
Line 354: Line 462:
  
 
|-
 
|-
|width=30%|[[File:Component Icon 9e0fa7e4_0c8c_485d_98c4_6f0ef8e57d40.png|Image]] [[Component: ID 9e0fa7e4_0c8c_485d_98c4_6f0ef8e57d40|GLCD Textfield]]
+
|width=30%|[[File:Component Icon 7b198227_81d6_404c_a2d4_ce1e59ef84f8.png|Image]] [[Component: ID 7b198227_81d6_404c_a2d4_ce1e59ef84f8|GLCD Graph Creator XY]]
 +
 
 +
| A component to simplify the process of drawing XY graphs and charts using a graphical LCD.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 9e0fa7e4_0c8c_485d_98c4_6f0ef8e57d40.png|Image]] [[Component: ID 9e0fa7e4_0c8c_485d_98c4_6f0ef8e57d40|GLCD Textfield]]
  
 
| A component to simplify the process of drawing text to a graphical display.Allows the graphical LCD to be used more like a standard alphanumeric display.Compatible with the Graphical LCDs.
 
| A component to simplify the process of drawing text to a graphical display.Allows the graphical LCD to be used more like a standard alphanumeric display.Compatible with the Graphical LCDs.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 1b08885c_807e_4631_930e_a4fef06159dc.png|Image]] [[Component: ID 1b08885c_807e_4631_930e_a4fef06159dc|gLCD Font Library]]
 +
 +
| A component designed to simplify the task of creating dynamic fonts for use with graphical displays.
 
|}
 
|}
 +
 
===Graphical Monochrome===
 
===Graphical Monochrome===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
Line 471: Line 590:
  
 
| Quad seven segment display using an two pin communications bus to reduce the number of control pins.Based on the Grove module 104030003.
 
| Quad seven segment display using an two pin communications bus to reduce the number of control pins.Based on the Grove module 104030003.
 +
 +
|-
 +
|width=30%|[[File:Component Icon bddc472f_59dc_4705_997e_662768d643cd.png|Image]] [[Component: ID bddc472f_59dc_4705_997e_662768d643cd|7Segment (74HC595)]]
 +
 +
| Seven segment display using 74HC595 serial to parallel shift register.Requires three standard output pins to drive the shift register.Shift registers can be chained together to drive up to six individual 7-segment displays.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 4de4697e_2de3_432e_a0fe_97ef8c79dfc0.png|Image]] [[Component: ID 4de4697e_2de3_432e_a0fe_97ef8c79dfc0|7Segment (Hex TM1637)]]
 +
 +
| Hex seven segment display using an two pin communications bus to reduce the number of control pins.Also provides up to 16 individual input switches.Driven using a TM1637 hex 7-segment display driver.
  
 
|-
 
|-
Line 505: Line 634:
  
 
| The Sound sensor module is a simple microphone. Based on the power amplifier LM386 and the electret microphone, it can be used to detect the sound strength of the environment.  
 
| The Sound sensor module is a simple microphone. Based on the power amplifier LM386 and the electret microphone, it can be used to detect the sound strength of the environment.  
 +
 +
 +
|-
 +
|width=30%|[[File:Component Icon c5d9ffa3_5a7d_4fb2_b9ba_ec855ad7b25c.png|Image]] [[Component: ID c5d9ffa3_5a7d_4fb2_b9ba_ec855ad7b25c|Ultrasonic (HCSR04)]]
 +
 +
| This  board  has  both  an  ultrasonic  transmitter  and receiver. The transmitter is driven by an on-board 40KHz oscillator which is enabled by the host microprocessor. The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel ADC of the microprocessor. By measuring the time delay between  enabling  a  transmit  pulse  and  receiving  an echo the distance of objects in a range of around 3cm to 3m can be determined.
  
 
|-
 
|-
Line 511: Line 646:
 
| The ultrasonic sensor is a non-contact distance measurement module. It's designed for easy modular project usage with industrial performance.Detecting range: 3cm to 4m, best in 30 degree angle.
 
| The ultrasonic sensor is a non-contact distance measurement module. It's designed for easy modular project usage with industrial performance.Detecting range: 3cm to 4m, best in 30 degree angle.
 
|}
 
|}
 +
 
===Environmental===
 
===Environmental===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
 +
|width=30%|[[File:Component Icon 69a2ca78_26f3_47df_a402_b5a7c1ff73f2.png|Image]] [[Component: ID 69a2ca78_26f3_47df_a402_b5a7c1ff73f2|Analogue Temp Sensors]]
 +
 +
| A range of the most popular temperature analogue sensors which are:AD22100, AD22103, LM135, LM235, LM335, LM35, LM36, LM37, LM60, MCP9700., MCP9701, TC1047, TMP35, TMP36, TMP37 & TSIC301.Uses a single ADC pin which will allow you to display the temperature in C or F. If your sensor is not listed, there is a Custom option. You will be able to enter the  scale factor, offset voltage, min and maximum temperaturesIf the temperature is outside the min and max values, then 999.9 will be displayed.
 +
 +
|-
 
|width=30%|[[File:Component Icon a9eb79b0_1d24_4acf_aade_d3639aa800c7.png|Image]] [[Component: ID a9eb79b0_1d24_4acf_aade_d3639aa800c7|Barometer (BME280)]]
 
|width=30%|[[File:Component Icon a9eb79b0_1d24_4acf_aade_d3639aa800c7.png|Image]] [[Component: ID a9eb79b0_1d24_4acf_aade_d3639aa800c7|Barometer (BME280)]]
  
 
| A small PCB surface mount barometric pressure sensor with a I2C bus interface.Pressure range 300 to 1100 hPa. Temperature range -40 to +85 °C.Works with I2C interface only.
 
| A small PCB surface mount barometric pressure sensor with a I2C bus interface.Pressure range 300 to 1100 hPa. Temperature range -40 to +85 °C.Works with I2C interface only.
 +
 +
|-
 +
|width=30%|[[File:Component Icon ca60c1d2_fb77_4e3e_9d01_c4496d35db1e.png|Image]] [[Component: ID ca60c1d2_fb77_4e3e_9d01_c4496d35db1e|Barometer (DPS310)]]
 +
 +
| A barometric air pressure sensor with high accuracy and low current consumption.Capable of sensing air pressure and temperature.Based on an I2C bus connection.
  
 
|-
 
|-
Line 564: Line 710:
  
 
|-
 
|-
|width=30%|[[File:Component Icon bbf0ab46_623e_44c6_9402_3acfcd9d0006.png|Image]] [[Component: ID bbf0ab46_623e_44c6_9402_3acfcd9d0006|Temperature (LM75B)]]
+
|width=30%|[[File:Component Icon df4eca75_779f_47ce_9495_56d3233be5e1.png|Image]] [[Component: ID df4eca75_779f_47ce_9495_56d3233be5e1|Temperature (DS1822)]]
  
| A digital temperature sensor based around the NXP LM75B chip.
+
| A rugged temperature sensor allowing one or more sensors to be addressed and read.Capable of reading temperatures from -55 to +125 degrees C.Requires a One Wire component to perform the bus operations.
  
 
|-
 
|-
|width=30%|[[File:Component Icon de8dcab3_c23b_48b4_a88e_3eb8b584109f.png|Image]] [[Component: ID de8dcab3_c23b_48b4_a88e_3eb8b584109f|Temperature Sensor (Grove 101020015) (101020015)]]
+
|width=30%|[[File:Component Icon 783b7689_0c71_44fb_9dde_673e4b7455ba.png|Image]] [[Component: ID 783b7689_0c71_44fb_9dde_673e4b7455ba|Temperature (DS18B20)]]
  
| Temperature Sensor uses a thermistor to measure ambient temperature. The resistance of thermistor changes based on ambient temperature. This resistance value alters the output of a voltage divider which is measured by an analog input pin and converted to a temperature value. The operating range is -40 to 125°C , with an accuracy of 1.5°C .
+
| A rugged temperature sensor allowing one or more sensors to be addressed and read.Capable of reading temperatures from -55 to +125 degrees C.Requires a One Wire component to perform the bus operations.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 93ab1895_66cf_4fd8_a04f_79f09acc19e6.png|Image]] [[Component: ID 93ab1895_66cf_4fd8_a04f_79f09acc19e6|Thermistor]]
+
|width=30%|[[File:Component Icon b42d9405_a751_4622_8fbe_ce512da391ba.png|Image]] [[Component: ID b42d9405_a751_4622_8fbe_ce512da391ba|Temperature (DS18S20)]]
  
| A generic thermistor component that can be used to simulate and create code for anythermistor with a known temperature/resistance curve.  Thermistor is connected in a simplepotential divider circuit - thermistor between ADC input and 0V, and a fixed resistor betweenADC and the positive supply.  Default calibration is for the EBM003 module.
+
| A rugged temperature sensor allowing one or more sensors to be addressed and read.Capable of reading temperatures from -55 to +125 degrees C.Requires a One Wire component to perform the bus operations.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon bbf0ab46_623e_44c6_9402_3acfcd9d0006.png|Image]] [[Component: ID bbf0ab46_623e_44c6_9402_3acfcd9d0006|Temperature (LM75B)]]
 +
 
 +
| A digital temperature sensor based around the NXP LM75B chip.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 05acf53c_0b2e_4d26_8d5d_f112d4ce4c68.png|Image]] [[Component: ID 05acf53c_0b2e_4d26_8d5d_f112d4ce4c68|Temperature Infrared (Grove 101020062)]]
 +
 
 +
| The Grove Infrared Temperature Sensor allows none contact measurement of temperaturesranging from -10 to 100 degrees C.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon de8dcab3_c23b_48b4_a88e_3eb8b584109f.png|Image]] [[Component: ID de8dcab3_c23b_48b4_a88e_3eb8b584109f|Temperature Sensor (Grove 101020015) (101020015)]]
 +
 
 +
| Temperature Sensor uses a thermistor to measure ambient temperature. The resistance of thermistor changes based on ambient temperature. This resistance value alters the output of a voltage divider which is measured by an analog input pin and converted to a temperature value. The operating range is -40 to 125°C , with an accuracy of 1.5°C .
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 93ab1895_66cf_4fd8_a04f_79f09acc19e6.png|Image]] [[Component: ID 93ab1895_66cf_4fd8_a04f_79f09acc19e6|Thermistor]]
 +
 
 +
| A generic thermistor component that can be used to simulate and create code for anythermistor with a known temperature/resistance curve.  Thermistor is connected in a simplepotential divider circuit - thermistor between ADC input and 0V, and a fixed resistor betweenADC and the positive supply.  Default calibration is for the EBM003 module.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 60de8264_7faf_4f77_904e_69bb19909ba8.png|Image]] [[Component: ID 60de8264_7faf_4f77_904e_69bb19909ba8|Thermocouple ( MCP960X)]]
 +
 
 +
| Component to interface the MCP960X IC from Microchip.Uses a standard 2-wire I2C interface to connect to the IC and collect the temperature.IC available in different versions to suit different thermocouple types.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 97e631c7_51d9_4482_9b65_481b390a686d.png|Image]] [[Component: ID 97e631c7_51d9_4482_9b65_481b390a686d|Thermocouple (MAX31855)]]
 +
 
 +
| Component to interface the MAX31855 IC from MAXIM.Uses a standard 3-wire SPI interface to connect to the IC and collect the temperature.IC available in different versions to suit different thermocouple types.
  
 
|-
 
|-
Line 583: Line 759:
 
| The water sensor uses a 1M ohm pull-up resistor.The resistor will pull the sensor trace value high until a drop of water shorts the sensor trace to the ground trace.You can use it with an analog input pin to detect the amount of water in contactbetween the grounded and sensor traces.
 
| The water sensor uses a 1M ohm pull-up resistor.The resistor will pull the sensor trace value high until a drop of water shorts the sensor trace to the ground trace.You can use it with an analog input pin to detect the amount of water in contactbetween the grounded and sensor traces.
 
|}
 
|}
 +
 
===Force===
 
===Force===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
Line 674: Line 851:
 
|width=30%|[[File:Component Icon 20699a0c_0925_40c4_8aa1_35f294e225e6.png|Image]] [[Component: ID 20699a0c_0925_40c4_8aa1_35f294e225e6|Accel Gyro Mag 9_Axis (LSM9DS1)]]
 
|width=30%|[[File:Component Icon 20699a0c_0925_40c4_8aa1_35f294e225e6.png|Image]] [[Component: ID 20699a0c_0925_40c4_8aa1_35f294e225e6|Accel Gyro Mag 9_Axis (LSM9DS1)]]
  
| LSM9DS1 Combined 9-Axis Accelerometer, Gyroscope and Magnetometer sensorsUseful for working out orientation data such as Pitch, Yaw and Roll.
+
| LSM9DS1 Combined 9-Axis Accelerometer, Gyroscope and Magnetometer sensors. Useful for working out orientation data such as Pitch, Yaw and Roll.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon 5d2c6406_e3aa_46bd_8144_57f60194a1e9.png|Image]] [[Component: ID 5d2c6406_e3aa_46bd_8144_57f60194a1e9|Accel Gyro Mag 9_Axis (MPU9250)]]
 
|width=30%|[[File:Component Icon 5d2c6406_e3aa_46bd_8144_57f60194a1e9.png|Image]] [[Component: ID 5d2c6406_e3aa_46bd_8144_57f60194a1e9|Accel Gyro Mag 9_Axis (MPU9250)]]
  
| MPU9250 Combined 9-Axis Accelerometer, Gyroscope and Magnetometer sensorsUseful for working out orientation data such as Pitch, Yaw and Roll.
+
| MPU9250 Combined 9-Axis Accelerometer, Gyroscope and Magnetometer sensors. Useful for working out orientation data such as Pitch, Yaw and Roll.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon db2c91d9_4fd5_42b8_98f4_76dfb160dece.png|Image]] [[Component: ID db2c91d9_4fd5_42b8_98f4_76dfb160dece|Accel Mag 6_Axis (LSM303D)]]
 
|width=30%|[[File:Component Icon db2c91d9_4fd5_42b8_98f4_76dfb160dece.png|Image]] [[Component: ID db2c91d9_4fd5_42b8_98f4_76dfb160dece|Accel Mag 6_Axis (LSM303D)]]
  
| LSM303D Combined 6-Axis Accelerometer and Magnetometer sensorsUseful for working out data such as Pitch and Yaw.
+
| LSM303D Combined 6-Axis Accelerometer and Magnetometer sensors. Useful for working out data such as Pitch and Yaw.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon d61dd6a6_231e_4244_9e8d_4f15e7ea10d5.png|Image]] [[Component: ID d61dd6a6_231e_4244_9e8d_4f15e7ea10d5|Accel Mag 6_Axis (LSM303DLHC)]]
 
|width=30%|[[File:Component Icon d61dd6a6_231e_4244_9e8d_4f15e7ea10d5.png|Image]] [[Component: ID d61dd6a6_231e_4244_9e8d_4f15e7ea10d5|Accel Mag 6_Axis (LSM303DLHC)]]
  
| LSM303DLHC Combined 6-Axis Accelerometer and Magnetometer sensorsUseful for working out data such as Pitch and Yaw.
+
| LSM303DLHC Combined 6-Axis Accelerometer and Magnetometer sensors. Useful for working out data such as Pitch and Yaw.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon 72f0a8c3_2b8f_4723_b22a_4a81873e5151.png|Image]] [[Component: ID 72f0a8c3_2b8f_4723_b22a_4a81873e5151|Accelerometer 3_Axis (LIS3LV02DQ)]]
 
|width=30%|[[File:Component Icon 72f0a8c3_2b8f_4723_b22a_4a81873e5151.png|Image]] [[Component: ID 72f0a8c3_2b8f_4723_b22a_4a81873e5151|Accelerometer 3_Axis (LIS3LV02DQ)]]
  
| LIS3LV02DQ Accelerometer sensor with options for I2C or SPI communications.Useful for approximating Pitch and Roll or for detecting acceleration.Also available in the form of the EB068 Accelerometer E-block.
+
| LIS3LV02DQ Accelerometer sensor with options for I2C or SPI communications. Useful for approximating Pitch and Roll or for detecting acceleration.Also available in the form of the EB068 Accelerometer E-block.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon 447dabf8_4e39_46a5_a3d6_a02341bef0f0.png|Image]] [[Component: ID 447dabf8_4e39_46a5_a3d6_a02341bef0f0|Gyroscope 3_Axis (L3G4200D)]]
 
|width=30%|[[File:Component Icon 447dabf8_4e39_46a5_a3d6_a02341bef0f0.png|Image]] [[Component: ID 447dabf8_4e39_46a5_a3d6_a02341bef0f0|Gyroscope 3_Axis (L3G4200D)]]
  
| Interface to the L3G4200D three axis digital gyroscope. Panel GUI can be used to simulateincoming data for testing.
+
| Interface to the L3G4200D three axis digital gyroscope. Panel GUI can be used to simulateincoming data for testing.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon 8e4553f8_fce7_4fed_80c1_33de9590a678.png|Image]] [[Component: ID 8e4553f8_fce7_4fed_80c1_33de9590a678|Gyroscope 3_Axis I2C (L3GD20)]]
 
|width=30%|[[File:Component Icon 8e4553f8_fce7_4fed_80c1_33de9590a678.png|Image]] [[Component: ID 8e4553f8_fce7_4fed_80c1_33de9590a678|Gyroscope 3_Axis I2C (L3GD20)]]
  
| Interface to the L3GD20 three axis digital gyroscope. Panel GUI can be used to simulateincoming data for testing.
+
| Interface to the L3GD20 three axis digital gyroscope. Panel GUI can be used to simulateincoming data for testing.
  
 
|-
 
|-
 
|width=30%|[[File:Component Icon 593b7216_0a11_465c_9cf5_3b809503a72c.png|Image]] [[Component: ID 593b7216_0a11_465c_9cf5_3b809503a72c|Gyroscope 3_Axis SPI (L3GD20)]]
 
|width=30%|[[File:Component Icon 593b7216_0a11_465c_9cf5_3b809503a72c.png|Image]] [[Component: ID 593b7216_0a11_465c_9cf5_3b809503a72c|Gyroscope 3_Axis SPI (L3GD20)]]
  
| Allows access to a three axis digital gyroscope via an SPI interface.Useful for gaming, VR, motion control, navitagion and robotics.
+
| Allows access to a three axis digital gyroscope via an SPI interface. Useful for gaming, VR, motion control, navitagion and robotics.
|}
 
==Data==
 
===DSP===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon e6dd1315_4acf_4fb5_abd9_5743d3715cbe.png|Image]] [[Component: ID e6dd1315_4acf_4fb5_abd9_5743d3715cbe|Control]]
+
|-
 +
|width=30%|[[File:Component Icon e4f1697e_5571_475a_a2b1_aa7243920422.png|Image]] [[Component: ID e4f1697e_5571_475a_a2b1_aa7243920422|Magnetometer (SM324)]]
  
| Allows for several types of control operations to be performed on a buffer.On/Off - Standard on off control as used on most overs, toasters, irons.P/PI/PID - Mathematical control process to get to the setpoint as fast as possible, similar to the process in the human brain when steering a car.
+
| SM324 ultraprecise 24-bit smart magnetometer capable of distance measurement using a magnet. Controlled via I2C bus communications.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 917f243e_4102_4bee_9998_81f18bc6ca9d.png|Image]] [[Component: ID 917f243e_4102_4bee_9998_81f18bc6ca9d|DSP System]]
+
|width=30%|[[File:Component Icon 4c2256c0_4453_4369_8c36_09770d223a09.png|Image]] [[Component: ID 4c2256c0_4453_4369_8c36_09770d223a09|Magnetometer 3_Axis (HMC5883L)]]
  
| DSP System main buffer manager responsible for allocating memory, taking care of buffer indexes and reading / writing the buffers.Must be added to a project to allow the other DSP components to connect together correctly.Multiple DSP systems can be added to a single project to allow for more then 8 individual buffers.
+
| HMC5883L 3-Axis Magnetometer sensor. Useful for working out data such as compass orientation.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e0ddc704_6bab_4d08_8f10_19a14c6683ef.png|Image]] [[Component: ID e0ddc704_6bab_4d08_8f10_19a14c6683ef|Delay]]
+
|width=30%|[[File:Component Icon 03b98e89_8fee_466f_87b9_42b3b3e1cb41.png|Image]] [[Component: ID 03b98e89_8fee_466f_87b9_42b3b3e1cb41|Magnetometer 3_Axis (QMC5883L)]]
 +
 
 +
| QMC5883L 3-Axis Magnetometer sensor. Useful for working out data such as compass orientation.
 +
|}
 +
 
 +
==DSP==
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon 0b1d97c1_ee89_45a5_8c39_114cd6d552ad.png|Image]] [[Component: ID 0b1d97c1_ee89_45a5_8c39_114cd6d552ad|Deinterlace]]
 +
 
 +
| Allows multiple output buffers to be deinterlaced from a single input buffer.Useful for decoding multiple buffer channels sent via communications or storage.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon e0ddc704_6bab_4d08_8f10_19a14c6683ef.png|Image]] [[Component: ID e0ddc704_6bab_4d08_8f10_19a14c6683ef|Delay]]
  
 
| Allows an adjustable delay to be inserted into the DSP system
 
| Allows an adjustable delay to be inserted into the DSP system
Line 740: Line 927:
  
 
|-
 
|-
|width=30%|[[File:Component Icon cbe42abc_5955_44da_a6d0_03e7cbcdcaca.png|Image]] [[Component: ID cbe42abc_5955_44da_a6d0_03e7cbcdcaca|Frequency Generator]]
+
|width=30%|[[File:Component Icon 3420d1ea_bc10_4727_8419_746101b8dc13.png|Image]] [[Component: ID 3420d1ea_bc10_4727_8419_746101b8dc13|Input ADC]]
 +
 
 +
| Allows the values from a buffer to be assigned driectly from an analog enabled pin. Either a single sample at a time or a number of samples.Auto scales the digital value to fill the entire range of the specified buffer type.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 73c1c565_8d04_44dd_ab78_1997d5e3c641.png|Image]] [[Component: ID 73c1c565_8d04_44dd_ab78_1997d5e3c641|Input CSV]]
  
| A frequency generator component designed to plug into the DSP system component and allow several discreet waveforms to be generated.Functions available include: Sine, Square, Pulse, Triangle, Sawtooth, Noise, Custom
+
| Allows the values from a buffer to be collected directly from a CSV file.Either a value at a time or from an array.
  
 
|-
 
|-
|width=30%|[[File:Component Icon c73d493a_b6a0_4dbe_b4b5_79648f67d11e.png|Image]] [[Component: ID c73d493a_b6a0_4dbe_b4b5_79648f67d11e|Input]]
+
|width=30%|[[File:Component Icon c73d493a_b6a0_4dbe_b4b5_79648f67d11e.png|Image]] [[Component: ID c73d493a_b6a0_4dbe_b4b5_79648f67d11e|Input Digital]]
  
 
| Allows the values from a buffer to be assigned. Either a value at a time or from an array.The input signal would usually take the form of an ADC reading or raw data values.
 
| Allows the values from a buffer to be assigned. Either a value at a time or from an array.The input signal would usually take the form of an ADC reading or raw data values.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e648c3de_ec39_4a3f_bbd9_46e45cce4a63.png|Image]] [[Component: ID e648c3de_ec39_4a3f_bbd9_46e45cce4a63|Level]]
+
|width=30%|[[File:Component Icon 8d6ffd33_4087_46b5_8dfd_f43513748755.png|Image]] [[Component: ID 8d6ffd33_4087_46b5_8dfd_f43513748755|Input Digital Pin]]
  
| Allows for detection and collection of peaks, troughs and averages.
+
| Allows the values from a buffer to be assigned from a digital input pin. The input values for high and low state can be assigned using properties.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 1392d5c3_35ba_4c7f_a539_7f30a09758e4.png|Image]] [[Component: ID 1392d5c3_35ba_4c7f_a539_7f30a09758e4|Output]]
+
|width=30%|[[File:Component Icon 23b8de7f_5214_4f77_9bac_4982123b8d4b.png|Image]] [[Component: ID 23b8de7f_5214_4f77_9bac_4982123b8d4b|Interlace]]
  
| Allows the values from a buffer to be read. Either a value at a time or as an array.
+
| Allows multiple input buffers to be interlaced together into a single output buffer.Useful for combining several streams together for sending out via communications or storing.
  
 
|-
 
|-
|width=30%|[[File:Component Icon f1af5256_1dee_491c_b43f_fdc8f33279fb.png|Image]] [[Component: ID f1af5256_1dee_491c_b43f_fdc8f33279fb|Scale]]
+
|width=30%|[[File:Component Icon 83fac7ac_b7b5_4cc4_890a_394cbf16cf71.png|Image]] [[Component: ID 83fac7ac_b7b5_4cc4_890a_394cbf16cf71|Kalman Filter]]
  
| Allows the values in a single buffer to be scaled uniformly.Functions include: AddOffset, Divide, LeftShift, Multiply, RightShift, Subtract, ScaleReal
+
| Provides a way of intelligently filtering noise from data to allow for better sensor approximations.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 82872714_f0f0_4758_91ec_bd39d2cdddc8.png|Image]] [[Component: ID 82872714_f0f0_4758_91ec_bd39d2cdddc8|Sum]]
+
|width=30%|[[File:Component Icon e648c3de_ec39_4a3f_bbd9_46e45cce4a63.png|Image]] [[Component: ID e648c3de_ec39_4a3f_bbd9_46e45cce4a63|Level]]
  
| Component to combine together two DSP buffers into one an index at a time.Functions include: Add, Average, Difference, Max, Min, Subtract
+
| Allows for detection and collection of peaks, troughs and averages.
|}
 
===Storage===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 1911d96c_78dd_414a_b23c_6691fb19f63f.png|Image]] [[Component: ID 1911d96c_78dd_414a_b23c_6691fb19f63f|Auto Version Identifier]]
+
|-
 +
|width=30%|[[File:Component Icon 82872714_f0f0_4758_91ec_bd39d2cdddc8.png|Image]] [[Component: ID 82872714_f0f0_4758_91ec_bd39d2cdddc8|Math]]
  
| Basic component designed to provide the program with the date and time of the build.Embedded assigns the time and date of compilation.Simulation assigns the time and date of the start of simulation.
+
| Component to combine together two DSP buffers into one an index at a time.Functions include: Add, Average, Difference, Max, Min, Subtract
  
 
|-
 
|-
|width=30%|[[File:Component Icon a78483e1_b293_47e7_984c_55984fc93571.png|Image]] [[Component: ID a78483e1_b293_47e7_984c_55984fc93571|Base 64]]
+
|width=30%|[[File:Component Icon facc8c89_963a_408e_985e_ed768a52b01a.png|Image]] [[Component: ID facc8c89_963a_408e_985e_ed768a52b01a|Median]]
  
| Component to allow base 64 encoding and decoding.Sometimes when communicating raw binary data it is useful to perform base 64 encoding to ensure that noneof your data bytes trigger any escape codes or other special case conditions. Base64 converts your binary datainto readable data using standard ASCII characters so you can be fairly certain that the data you send is the same as the data that is received.
+
| Collects the median value removing any potential high frequency spikes in the data.
  
 
|-
 
|-
|width=30%|[[File:Component Icon c34f9b8a_a915_4f75_ad0c_87f2ad670a8a.png|Image]] [[Component: ID c34f9b8a_a915_4f75_ad0c_87f2ad670a8a|Circular Buffer]]
+
|width=30%|[[File:Component Icon a9e01aa0_f224_4902_a558_6a199fc039c5.png|Image]] [[Component: ID a9e01aa0_f224_4902_a558_6a199fc039c5|Multiplex]]
  
| Circular buffer component allowing easy and efficient first in first out (FIFO) style data byte storage.Useful when used with a comms component to capture data as it comes in ready for processing when we have time.Also features macros to allow you to check for specific incoming responses such as "OK" or "ERROR".
+
| Allows multiple input buffers to be multiplexed to a single output buffer.
  
 
|-
 
|-
|width=30%|[[File:Component Icon dcbf571f_a6fa_402d_bdd4_be00cca4070f.png|Image]] [[Component: ID dcbf571f_a6fa_402d_bdd4_be00cca4070f|EEPROM]]
+
|width=30%|[[File:Component Icon 88a7dbc4_af92_4205_8943_abaa77504462.png|Image]] [[Component: ID 88a7dbc4_af92_4205_8943_abaa77504462|Offset]]
  
| 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.
+
| Allows the values in a single buffer to be offset uniformly.Functions include: Add, Subtract
  
 
|-
 
|-
|width=30%|[[File:Component Icon 42f3f8ef_ff5b_44e6_9be8_8c43d9ab5b08.png|Image]] [[Component: ID 42f3f8ef_ff5b_44e6_9be8_8c43d9ab5b08|Embed File]]
+
|width=30%|[[File:Component Icon 34b6f31b_7e33_4beb_891e_defacbee8587.png|Image]] [[Component: ID 34b6f31b_7e33_4beb_891e_defacbee8587|OnOff Control]]
  
| A component to simplify the process of embedding files into ROM.Stores the file inside a ROM look up table.
+
| On/Off Control - Standard on off control as used on most ovens, toasters, irons.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 9cb6d9da_5555_4e1c_a65c_93b299b6011c.png|Image]] [[Component: ID 9cb6d9da_5555_4e1c_a65c_93b299b6011c|FAT (SCADA)]]
+
|width=30%|[[File:Component Icon 5142bd81_abad_444b_b6db_36a87dce5835.png|Image]] [[Component: ID 5142bd81_abad_444b_b6db_36a87dce5835|Output CSV]]
  
| FAT component allowing access to read and write files on the local Windows file system.
+
| Allows the values from a buffer to be output directly into a .CSV format file. Either a value at a time or as an array.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0b61bd39_05a3_46ee_a2a5_da7bffb583c5.png|Image]] [[Component: ID 0b61bd39_05a3_46ee_a2a5_da7bffb583c5|FAT (SD, SDHC)]]
+
|width=30%|[[File:Component Icon 4483da18_fa5a_4436_9edb_0cfb55a4bce1.png|Image]] [[Component: ID 4483da18_fa5a_4436_9edb_0cfb55a4bce1|Output DAC]]
  
| FAT component allowing access to read and write files on a SD, SDHC or MMC card.The component automatically detects the filesystem on the card on initialise so FAT16 and FAT32 are fully supported.
+
| Allows the values from a buffer to be passed directly to an internal DAC output.
  
 
|-
 
|-
|width=30%|[[File:Component Icon dfb4d07a_3d70_45d5_83ef_07e3c95d86ab.png|Image]] [[Component: ID dfb4d07a_3d70_45d5_83ef_07e3c95d86ab|Lookup tables]]
+
|width=30%|[[File:Component Icon 1392d5c3_35ba_4c7f_a539_7f30a09758e4.png|Image]] [[Component: ID 1392d5c3_35ba_4c7f_a539_7f30a09758e4|Output Digital]]
  
| A lookup-table component allowing an easy way to place arrays of static data into ROM memory.The LUT data is accessed directly allowing very low overhead when collecting the data.
+
| Allows the values from a buffer to be read. Either a value at a time or as an array.
  
 
|-
 
|-
|width=30%|[[File:Component Icon f0e01201_8951_4748_87c3_d1f8423bb6e4.png|Image]] [[Component: ID f0e01201_8951_4748_87c3_d1f8423bb6e4|Real Time Clock (Internal, DS1307, DS3231, DS3232)]]
+
|width=30%|[[File:Component Icon 0d048c7d_18d5_4bce_83f1_7e429c0d86b6.png|Image]] [[Component: ID 0d048c7d_18d5_4bce_83f1_7e429c0d86b6|Output Digital Pin]]
  
| A Real Time Clock component allowing things like clocks and timers to easily be created.Compatible with the internal RTCC module and external DS1307, DS3231 or DS3232 RTC ICs.
+
| Allows the values from a buffer to be passed directly to a digital output pin based on a defined threshold.
  
 
|-
 
|-
|width=30%|[[File:Component Icon c48dfdeb_1177_4381_86dd_d7a98fefeb7a.png|Image]] [[Component: ID c48dfdeb_1177_4381_86dd_d7a98fefeb7a|Real Time Clock (MCP7940N)]]
+
|width=30%|[[File:Component Icon 649f4bc2_1360_4629_82aa_62e2fc32d4e4.png|Image]] [[Component: ID 649f4bc2_1360_4629_82aa_62e2fc32d4e4|Output PWM]]
  
| Serial (I2C) Real Time Clock component for MCP7940N device.When used with a MIAC project this component gives access to the internal RTC (if fitted, depending upon model) and the component properties will be automatically configured.
+
| Allows the values from a buffer to be passed directly to an internal PWM output.
  
 
|-
 
|-
|width=30%|[[File:Component Icon fdb712e0_3861_4e64_9c68_67eade64b089.png|Image]] [[Component: ID fdb712e0_3861_4e64_9c68_67eade64b089|Serial EEPROM (24C16)]]
+
|width=30%|[[File:Component Icon e6dd1315_4acf_4fb5_abd9_5743d3715cbe.png|Image]] [[Component: ID e6dd1315_4acf_4fb5_abd9_5743d3715cbe|PID Control]]
  
| Serial (I2C) EEPROM component for 24C01 to 24C16
+
| Control algorythm based on Proportional, Integral and Differential error.P/PI/PID - Mathematical control process to get to the setpoint as fast as possible, similar to the process in the human brain when steering a car.Used to accurately control things like motors, temperatures etc.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 35934f36_5cda_49e7_b1a0_05c85722d858.png|Image]] [[Component: ID 35934f36_5cda_49e7_b1a0_05c85722d858|Serial EEPROM (24C32)]]
+
|width=30%|[[File:Component Icon 939a5d54_28c7_488d_af39_46f7c5d2c429.png|Image]] [[Component: ID 939a5d54_28c7_488d_af39_46f7c5d2c429|Rectifier]]
  
| Serial (I2C) EEPROM component for 24C32 Can be added to a MIAC project to give read and write access to the internal non-volatile memory device (if fitted, depending upon model).
+
| Converts the negative elements of a signal into a mirrored positive signal.
  
 
|-
 
|-
|width=30%|[[File:Component Icon a8abdc98_224c_4c8a_8311_2921cb3dbe46.png|Image]] [[Component: ID a8abdc98_224c_4c8a_8311_2921cb3dbe46|String Initialiser]]
+
|width=30%|[[File:Component Icon f1af5256_1dee_491c_b43f_fdc8f33279fb.png|Image]] [[Component: ID f1af5256_1dee_491c_b43f_fdc8f33279fb|Scale]]
  
| A component allowing an easy way to initialise string variables using ROM memory.A simple and efficient way to populate string variables helping to save on RAM usage.Allows up to 16 strings to be stored. For additional strings simply use more String Initialiser components.
+
| Allows the values in a single buffer to be scaled uniformly.Functions include: Multiply, Divide, LeftShift, RightShift, Float Multiply, Float Divide
  
 
|-
 
|-
|width=30%|[[File:Component Icon 306b3759_a92f_4779_b15f_93a9e35a75bf.png|Image]] [[Component: ID 306b3759_a92f_4779_b15f_93a9e35a75bf|String Translator]]
+
|width=30%|[[File:Component Icon 907f24e9_a8a3_46ea_942d_67dc55f7eb44.png|Image]] [[Component: ID 907f24e9_a8a3_46ea_942d_67dc55f7eb44|Simulated Control Load]]
 
 
| A simple component to allow multiple language support by substituting different strings dependingon the selected language.
 
 
 
|-
 
|width=30%|[[File:Component Icon 24ad2718_c70b_4088_aeda_3949dfdba740.png|Image]] [[Component: ID 24ad2718_c70b_4088_aeda_3949dfdba740|Timer]]
 
  
| Allows you to measure the passage of time via the use of a hardware timer peripheral.Works like a stopwatch with macros to start, stop and reset the timer counter.Returns time as integer Seconds, Milliseconds, Microseconds and also Floating Point and String.
+
| Allows a simulated load to be connected to the DSP network allowing you to model external factors such asMotor Speed, Motor Position, Temperature, Humidity, Pressure, Flow etc.Useful when used with a feedback based control system.
  
 
|-
 
|-
|width=30%|[[File:Component Icon eaee384d_6b16_4988_b1aa_8628231a7128.png|Image]] [[Component: ID eaee384d_6b16_4988_b1aa_8628231a7128|WAV Library FAT]]
+
|width=30%|[[File:Component Icon cbe42abc_5955_44da_a6d0_03e7cbcdcaca.png|Image]] [[Component: ID cbe42abc_5955_44da_a6d0_03e7cbcdcaca|Waveform Generator]]
  
| Allows WAV files to be played or recorded using an SD card component.Complete with buffer to allow for uninterrupted playback when performing other tasks.Playback compatible with analogue outputs such as DAC or PWM.Recording compatible with analogue inputs such as a Microphone.
+
| A waveform generator component designed to plug into the DSP system component and allow several discreet waveforms to be generated.Functions available include: Sine, Square, Pulse, Triangle, Sawtooth, Noise, Custom
 
|}
 
|}
  
==Comms==
+
==Storage==
===Comms: Interface===
 
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
|width=30%|[[File:Component Icon da332928_6342_4c2c_afc7_eaf33917d33e.png|Image]] [[Component: ID da332928_6342_4c2c_afc7_eaf33917d33e|CAN (Internal, MCP2515)]]
+
|width=30%|[[File:Component Icon 1911d96c_78dd_414a_b23c_6691fb19f63f.png|Image]] [[Component: ID 1911d96c_78dd_414a_b23c_6691fb19f63f|Auto Version Identifier]]
  
| Low level routines for controling the CAN interface either using an external MCP2515 IC and a SPI bus connectionor using an internal CAN peripheral if available on your device. Both methods will require a CAN driver IC like the MCP2551 to drive the CAN signals on the bus.
+
| Basic component designed to provide the program with the date and time of the build.Embedded assigns the time and date of compilation.Simulation assigns the time and date of the start of simulation.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 24219805_113d_4b12_b6bd_e1b0b0c33981.png|Image]] [[Component: ID 24219805_113d_4b12_b6bd_e1b0b0c33981|I2C Master]]
+
|width=30%|[[File:Component Icon a78483e1_b293_47e7_984c_55984fc93571.png|Image]] [[Component: ID a78483e1_b293_47e7_984c_55984fc93571|Base 64]]
  
| Generic Two Wire I2C Communications Interface
+
| Component to allow base 64 encoding and decoding.Sometimes when communicating raw binary data it is useful to perform base 64 encoding to ensure that noneof your data bytes trigger any escape codes or other special case conditions. Base64 converts your binary datainto readable data using standard ASCII characters so you can be fairly certain that the data you send is the same as the data that is received.
  
 
|-
 
|-
|width=30%|[[File:Component Icon eac43fda_0bc5_4b08_881c_6d3e364f2eff.png|Image]] [[Component: ID eac43fda_0bc5_4b08_881c_6d3e364f2eff|I2C Slave]]
+
|width=30%|[[File:Component Icon 201d99f7_acf8_481d_a703_61860c2ba3ea.png|Image]] [[Component: ID 201d99f7_acf8_481d_a703_61860c2ba3ea|Circular Buffer (16_bit)]]
  
| Generic Two Wire I2C Communications Interface
+
| Circular buffer component allowing easy and efficient first in first out (FIFO) style data storage.Also features macros to allow you to check for specific 16-bit values.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 64b26b13_68cf_4a92_8616_e882b7c71023.png|Image]] [[Component: ID 64b26b13_68cf_4a92_8616_e882b7c71023|One Wire]]
+
|width=30%|[[File:Component Icon c34f9b8a_a915_4f75_ad0c_87f2ad670a8a.png|Image]] [[Component: ID c34f9b8a_a915_4f75_ad0c_87f2ad670a8a|Circular Buffer (8_bit)]]
  
| Low level routines for controlling or interacting with a standard one wire interface.
+
| Circular buffer component allowing easy and efficient first in first out (FIFO) style data byte storage.Useful when used with a comms component to capture data as it comes in ready for processing when we have time.Also features macros to allow you to check for specific incoming responses such as "OK" or "ERROR".
  
 
|-
 
|-
|width=30%|[[File:Component Icon 96862c4d_debc_45fa_9433_74711a4b9a3b.png|Image]] [[Component: ID 96862c4d_debc_45fa_9433_74711a4b9a3b|SPI Master]]
+
|width=30%|[[File:Component Icon ed491c82_9f85_4627_93ce_d2b588352539.png|Image]] [[Component: ID ed491c82_9f85_4627_93ce_d2b588352539|Circular Buffer (Float)]]
  
| Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.If the hardware SPI pins are in use or more SPI channels are required then there is also a software mode available.
+
| Circular buffer component allowing easy and efficient first in first out (FIFO) style data storage.Also features macros to allow you to check for specific floating point values.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e2955f6c_d724_4ab0_afca_d62093a77248.png|Image]] [[Component: ID e2955f6c_d724_4ab0_afca_d62093a77248|SPI Slave]]
+
|width=30%|[[File:Component Icon d96f06b4_e7cc_4222_831e_520b53cfa278.png|Image]] [[Component: ID d96f06b4_e7cc_4222_831e_520b53cfa278|EEPROM (DS28E07)]]
  
| Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.
+
| A rugged EEPROM allowing one or more devices to be addressed and accessed.Requires a One Wire component to perform the bus operations.
  
 
|-
 
|-
|width=30%|[[File:Component Icon c73616d1_7ad0_45d9_aada_69ccfa4c5efc.png|Image]] [[Component: ID c73616d1_7ad0_45d9_aada_69ccfa4c5efc|UART (RS232)]]
+
|width=30%|[[File:Component Icon dcbf571f_a6fa_402d_bdd4_be00cca4070f.png|Image]] [[Component: ID dcbf571f_a6fa_402d_bdd4_be00cca4070f|EEPROM]]
  
| Low level routines for controlling or interacting with a standard asyncronous serial interface.On a microcontroller the interface will be the onboard UART which will need voltage level shifting using a max2323 to become RS232 compatible.See the EB015 RS232 E-block for details.
+
| 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.
|}
 
===Comms: Networking===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 91049bf5_2436_42dc_947a_c30c86463d98.png|Image]] [[Component: ID 91049bf5_2436_42dc_947a_c30c86463d98|Network Communications]]
+
|-
 +
|width=30%|[[File:Component Icon 42f3f8ef_ff5b_44e6_9be8_8c43d9ab5b08.png|Image]] [[Component: ID 42f3f8ef_ff5b_44e6_9be8_8c43d9ab5b08|Embed File]]
  
| A component designed to simplify the process of TCP/IP communications.Compatible with most of the Flowcode supported TCP/IP and WIFI components.A useful building block for creating components such as IoT and Modbus TCP.
+
| A component to simplify the process of embedding files into ROM.Stores the file inside a ROM look up table.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 54369d81_80ed_4d59_97bf_91f4b2cdf24c.png|Image]] [[Component: ID 54369d81_80ed_4d59_97bf_91f4b2cdf24c|TCP Template]]
+
|width=30%|[[File:Component Icon 9cb6d9da_5555_4e1c_a65c_93b299b6011c.png|Image]] [[Component: ID 9cb6d9da_5555_4e1c_a65c_93b299b6011c|File (SCADA)]]
  
| Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation.Suitable for inheriting
+
| File component allowing access to read and write files on the local Windows file system.Only available in simulation runtime mode, cannot be downloaded to hardware.Compatible with File (SD Card) embedded component.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 8aab4b54_a912_449c_b11a_7c1a5db8d591.png|Image]] [[Component: ID 8aab4b54_a912_449c_b11a_7c1a5db8d591|TCPIP (ENC28J60)]]
+
|width=30%|[[File:Component Icon 0b61bd39_05a3_46ee_a2a5_da7bffb583c5.png|Image]] [[Component: ID 0b61bd39_05a3_46ee_a2a5_da7bffb583c5|File (SDSDHC Card)]]
  
| A set of routines used to control a ENC28J60 TCP/IP Module.Required connections VCC, Reset, GND, SCK, MISO, MOSI, CS.Leave these pins disconnected CLKOUT, ENC_WOL, ENC_INT
+
| File component allowing access to read and write files on a SD/SDHC card.Also compatible with micro SD/SDHC cards, please note the pin layout is subtely different for these.The component automatically detects the filesystem on the card on initialise so FAT16 and FAT32 are fully supported.When used in simulation provides read/write access to files on the local windows file system.
  
 
|-
 
|-
|width=30%|[[File:Component Icon a1820de1_8cfe_4675_b185_a62ce44e2a6f.png|Image]] [[Component: ID a1820de1_8cfe_4675_b185_a62ce44e2a6f|TCPIP (NM7010A)]]
+
|width=30%|[[File:Component Icon 06829bc6_9e27_4353_9d95_3ba9dabc3384.png|Image]] [[Component: ID 06829bc6_9e27_4353_9d95_3ba9dabc3384|Flash EEPROM]]
  
| TCP/IP component designed to work with the WIZ3100 range of modules from Wiznet.Also available in the form of the version 1 EB023 E-block which uses the NM7010A module.
+
| Provides an emulated version of EEPROM using the microcontrollers on-board flash program memory.Requires a microcontroller with write and erase access to the flash memory.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0341d84f_f7fd_473c_8076_b38b2d563e13.png|Image]] [[Component: ID 0341d84f_f7fd_473c_8076_b38b2d563e13|TCPIP (Raspberry Pi)]]
+
|width=30%|[[File:Component Icon 7bbc8b49_5f3d_419e_8b25_4ea4c93467b6.png|Image]] [[Component: ID 7bbc8b49_5f3d_419e_8b25_4ea4c93467b6|IButton (DS1990)]]
  
| TCP/IP sockets component for use with Raspberry Pi.Raspberry Pi Only
+
| A rugged 48-bit unique identifier allowing for unique codes for logistical tracking or device identifiers etc.Compatible with the DS1990A and DS1990R iButton devices.Requires a One Wire component to perform the bus operations.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e18e39d3_2e05_4a15_b8aa_e8ada16cd3ef.png|Image]] [[Component: ID e18e39d3_2e05_4a15_b8aa_e8ada16cd3ef|TCPIP (W5500)]]
+
|width=30%|[[File:Component Icon dfb4d07a_3d70_45d5_83ef_07e3c95d86ab.png|Image]] [[Component: ID dfb4d07a_3d70_45d5_83ef_07e3c95d86ab|Lookup tables]]
  
| TCP/IP component designed to work with the W5500 device used on the ETH WIZ Click
+
| A lookup-table component allowing an easy way to place arrays of static data into ROM memory.The LUT data is accessed directly allowing very low overhead when collecting the data.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d6db973b_a543_4743_91b5_176f9c6613df.png|Image]] [[Component: ID d6db973b_a543_4743_91b5_176f9c6613df|TCPIP (WIZ810MJ)]]
+
|width=30%|[[File:Component Icon ccdce31d_a1a3_437a_88ba_5431745ddf6e.png|Image]] [[Component: ID ccdce31d_a1a3_437a_88ba_5431745ddf6e|Map Function]]
  
| TCP/IP component designed to work with the WIZ810MJ module from Wiznet,as used on version 2 EB023 E-block and the MIAC Industrial Addon module.
+
| The map function is intended to change one range of values into another range of values. For example.Output from a temperature sensor is in centigrade.you can map it to give the result in Fahrenheit.To do that set: InMin to 0, InMax 100, OutMin to 32 & OutMax to 212
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0dde7075_368e_404c_9d88_d9c6bec55172.png|Image]] [[Component: ID 0dde7075_368e_404c_9d88_d9c6bec55172|WLAN (EB069, WIZ610wi)]]
+
|width=30%|[[File:Component Icon b3061d15_325b_4a8f_863a_a059fab79caf.png|Image]] [[Component: ID b3061d15_325b_4a8f_863a_a059fab79caf|Median 16_bit]]
  
| Wireless LAN component designed to work with the WIZ610wi module from Wiznet.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
+
| Component to calulate the median from a set of sample data. Provides the signal whilst removing any spikes caused by noise or other intermittent data.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 66990164_3c50_4960_916d_327737a7a093.png|Image]] [[Component: ID 66990164_3c50_4960_916d_327737a7a093|WLAN (ESP-12S)]]
+
|width=30%|[[File:Component Icon f2e05e6d_1864_465b_8d1d_0fc9238a7535.png|Image]] [[Component: ID f2e05e6d_1864_465b_8d1d_0fc9238a7535|Median 32_bit]]
  
| Wireless LAN component designed to work with the ESP-12S module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the BL0136 WIFI E-block.
+
| Component to calulate the median from a set of sample data. Provides the signal whilst removing any spikes caused by noise or other intermittent data.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e1bb4679_58ef_40dc_8d09_306ada46f7bf.png|Image]] [[Component: ID e1bb4679_58ef_40dc_8d09_306ada46f7bf|WLAN (ESP8266)]]
+
|width=30%|[[File:Component Icon c211fc8f_6f17_461f_a44b_01dbc2368fbe.png|Image]] [[Component: ID c211fc8f_6f17_461f_a44b_01dbc2368fbe|Median Float]]
  
| Wireless LAN component designed to work with the ESP8266 module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
+
| Component to calulate the median from a set of sample data. Provides the signal whilst removing any spikes caused by noise or other intermittent data.
  
 
|-
 
|-
|width=30%|[[File:Component Icon a1c9b843_a641_4b9c_b762_26995b8f9464.png|Image]] [[Component: ID a1c9b843_a641_4b9c_b762_26995b8f9464|Webserver (GENERIC _ ROM FAT)]]
+
|width=30%|[[File:Component Icon ec64c307_3099_485b_bd55_052a5da95128.png|Image]] [[Component: ID ec64c307_3099_485b_bd55_052a5da95128|PIC32 Core Timer]]
  
| Webserver component designed to work with Network Comms abstraction layer.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Webpages can be embedded into ROM or can be pulled directly from an SD card using the FAT component.
+
| Allows for easy and accurate timings using the built in Core timer on the PIC32 devices.
  
 
|-
 
|-
|width=30%|[[File:Component Icon ff377ede_2c09_4a83_99a0_5e11c7ae16d9.png|Image]] [[Component: ID ff377ede_2c09_4a83_99a0_5e11c7ae16d9|Webserver (NM7010A) (NM7010A)]]
+
|width=30%|[[File:Component Icon 920175dd_ace8_49e2_9208_ec548563c9c0.png|Image]] [[Component: ID 920175dd_ace8_49e2_9208_ec548563c9c0|Real Time Clock (ESP32)]]
  
| Webserver component designed to work with the NM7010A module from Wiznet,as used in the version 1 EB023 E-block.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
+
| Allows an ESP32 device to act as a RTC with NTP type server synchronisation.Requires a WIFI network connection with internet access to synchronise.Provides simulation using local PC system time.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 9e68a715_edc2_4a98_be64_c0d02f700135.png|Image]] [[Component: ID 9e68a715_edc2_4a98_be64_c0d02f700135|Webserver (WIZ810MJ)]]
+
|width=30%|[[File:Component Icon f0e01201_8951_4748_87c3_d1f8423bb6e4.png|Image]] [[Component: ID f0e01201_8951_4748_87c3_d1f8423bb6e4|Real Time Clock (Internal, DS1307, DS3231, DS3232)]]
  
| Webserver component designed to work with the WIZ810MJ module from Wiznet,as used in the version 2 EB023 E-block and MIAC System Industrial Addon.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
+
| A Real Time Clock component allowing things like clocks and timers to easily be created.Compatible with the internal RTCC module and external DS1307, DS3231 or DS3232 RTC ICs.
|}
 
===Comms: System===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 5aefac05_ee5e_4d51_9f31_05281900a97e.png|Image]] [[Component: ID 5aefac05_ee5e_4d51_9f31_05281900a97e|DALI Master]]
+
|-
 +
|width=30%|[[File:Component Icon c48dfdeb_1177_4381_86dd_d7a98fefeb7a.png|Image]] [[Component: ID c48dfdeb_1177_4381_86dd_d7a98fefeb7a|Real Time Clock (MCP7940N)]]
  
| A serial based communications protocol designed for controlling lighting, specifically digitallycontrolled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from VCC and GND to +9.5V - +25.5V and GND. The master component can addess up to 64 individual slaves & up to 16 groups.
+
| Serial (I2C) Real Time Clock component for MCP7940N device.When used with a MIAC project this component gives access to the internal RTC (if fitted, depending upon model) and the component properties will be automatically configured.
  
 
|-
 
|-
|width=30%|[[File:Component Icon c714f39e_c8fb_413f_afda_2d169e655134.png|Image]] [[Component: ID c714f39e_c8fb_413f_afda_2d169e655134|DALI Slave]]
+
|width=30%|[[File:Component Icon a871ac1d_7a58_4474_a08b_c9c9017cd2ed.png|Image]] [[Component: ID a871ac1d_7a58_4474_a08b_c9c9017cd2ed|STM32 Timer]]
  
| A serial based communications protocol designed for controlling lighting, specifically digitallycontrolled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from VCC and GND to +9.5V - +25.5V and GND using external circuitry.  
+
| Allows you to measure the passage of time via the use of the STM hardware timer.Works like a stopwatch with macros to start, stop and reset the timer counter.Returns time as integer Seconds, Milliseconds and also Floating Point and String.
  
 
|-
 
|-
|width=30%|[[File:Component Icon b4e10f9e_4ea9_4fbc_a584_a4d7d4d8fba6.png|Image]] [[Component: ID b4e10f9e_4ea9_4fbc_a584_a4d7d4d8fba6|DMX_512 Master]]
+
|width=30%|[[File:Component Icon fdb712e0_3861_4e64_9c68_67eade64b089.png|Image]] [[Component: ID fdb712e0_3861_4e64_9c68_67eade64b089|Serial EEPROM (24C16)]]
  
| A serial based communications protocol designed for controlling theatrical equipment suchas dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained together with a final 180R terminating resistor at the end of the chail. DMX requires the signalto be level shifted from VCC and GND to +2.5V and -2.5V.
+
| Serial (I2C) EEPROM component for 24C01 to 24C16
  
 
|-
 
|-
|width=30%|[[File:Component Icon 1be0ac44_3521_402e_a8b7_1faf86c09560.png|Image]] [[Component: ID 1be0ac44_3521_402e_a8b7_1faf86c09560|DMX_512 Slave]]
+
|width=30%|[[File:Component Icon 35934f36_5cda_49e7_b1a0_05c85722d858.png|Image]] [[Component: ID 35934f36_5cda_49e7_b1a0_05c85722d858|Serial EEPROM (24C32)]]
  
| A serial based communications protocol designed for controlling theatrical equipment suchas dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained together with a final 180R terminating resistor at the end of the chail. DMX requires the signalto be level shifted from VCC and GND to +2.5V and -2.5V.  
+
| Serial (I2C) EEPROM component for 24C32 Can be added to a MIAC project to give read and write access to the internal non-volatile memory device (if fitted, depending upon model).
  
 
|-
 
|-
|width=30%|[[File:Component Icon 76bb1b8c_43da_48d3_b53f_a9907f03a528.png|Image]] [[Component: ID 76bb1b8c_43da_48d3_b53f_a9907f03a528|IO Expander (MCP23017)]]
+
|width=30%|[[File:Component Icon c8b6350e_b89a_4ad0_8669_e9387e24599e.png|Image]] [[Component: ID c8b6350e_b89a_4ad0_8669_e9387e24599e|Serial Flash (W25) (W25)]]
  
| Provides 16 digital input/output pins arranged into two 8-bit ports using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.
+
| Component to allow support for the Winbond W25 range of SPI Flash devices.Compatible with various sizes of Flash including: 2Mb, 4Mb, 8Mb, 32Mb, 64Mb, 128Mb.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 331daac0_653d_4f45_9822_6408a8258bda.png|Image]] [[Component: ID 331daac0_653d_4f45_9822_6408a8258bda|IO Expander (MCP23S17)]]
+
|width=30%|[[File:Component Icon e4dbf608_6521_4e08_a1f5_46b012fc8cc1.png|Image]] [[Component: ID e4dbf608_6521_4e08_a1f5_46b012fc8cc1|Standard Deviation]]
  
| Provides 16 digital input/output pins arranged into two 8-bit ports using a SPI bus connection.Multiple expanders can be connected to the same SPI peripheral by means of individual chip select pins.
+
| A set of functions used to calculate the mean and standard deviation on a set of data samples.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d43a1c1f_8ad6_4271_9f62_20e1bdf529f0.png|Image]] [[Component: ID d43a1c1f_8ad6_4271_9f62_20e1bdf529f0|IO Expander (PCF8574)]]
+
|width=30%|[[File:Component Icon a8abdc98_224c_4c8a_8311_2921cb3dbe46.png|Image]] [[Component: ID a8abdc98_224c_4c8a_8311_2921cb3dbe46|String Initialiser]]
  
| Provides 8 digital input/output pins arranged into an 8-bit port using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.Supports the PCF8574 and PCF8574A devices allowing up to 16 expanders to be connected to the same I2C bus ( 8 x PCF8574 + 8 x PCF8574A ).
+
| A component allowing an easy way to initialise string variables using ROM memory.A simple and efficient way to populate string variables helping to save on RAM usage.Allows up to 16 strings to be stored. For additional strings simply use more String Initialiser components.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 4616b658_531f_4c5e_981a_4d9fc04f9a36.png|Image]] [[Component: ID 4616b658_531f_4c5e_981a_4d9fc04f9a36|IO Expander (PCF8575)]]
+
|width=30%|[[File:Component Icon 306b3759_a92f_4779_b15f_93a9e35a75bf.png|Image]] [[Component: ID 306b3759_a92f_4779_b15f_93a9e35a75bf|String Translator]]
  
| Provides 16 digital input/output pins arranged into 8-bit ports using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.Supports the PCF8575 device allowing up to 8 expanders to be connected to the same I2C bus.
+
| A simple component to allow multiple language support by substituting different strings dependingon the selected language.
  
 
|-
 
|-
|width=30%|[[File:Component Icon a9b43242_9ccc_4f1c_b2d1_acdfbe420fc1.png|Image]] [[Component: ID a9b43242_9ccc_4f1c_b2d1_acdfbe420fc1|MIDI]]
+
|width=30%|[[File:Component Icon d7633558_54a4_47ff_8c00_95170632c57e.png|Image]] [[Component: ID d7633558_54a4_47ff_8c00_95170632c57e|Timed Interval]]
  
| Low level routines for controlling or interacting with a standard MIDI interface.
+
| Allows you to setup a specific timed interval via the use of a hardware timer peripheral.Useful for regular time accurate periodic polling and sampling.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 459c9cfb_82e3_40ad_9456_54fc40ba5e6c.png|Image]] [[Component: ID 459c9cfb_82e3_40ad_9456_54fc40ba5e6c|MQTT Client]]
+
|width=30%|[[File:Component Icon 24ad2718_c70b_4088_aeda_3949dfdba740.png|Image]] [[Component: ID 24ad2718_c70b_4088_aeda_3949dfdba740|Timer]]
  
| A component providing access to MQTT IoT client.The client can connect to a MQTT server such as ThingSpeak.Allowing IoT type data to be published and read back.
+
| Allows you to measure the passage of time via the use of a hardware timer peripheral.Works like a stopwatch with macros to start, stop and reset the timer counter.Returns time as integer Seconds, Milliseconds, Microseconds and also Floating Point and String.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 43861adb_8a59_492d_8f9f_a08775800bc1.png|Image]] [[Component: ID 43861adb_8a59_492d_8f9f_a08775800bc1|MULTIUART (SPI2UART)]]
+
|width=30%|[[File:Component Icon 6508c7be_063a_4f9f_bae5_4a41cf977a86.png|Image]] [[Component: ID 6508c7be_063a_4f9f_bae5_4a41cf977a86|Type Conversions]]
  
| Uses a high speed SPI connection to enable up to four buffered external UARTs via the MULTIUART modules.
+
| Component to simplify the task of converting data into different bit type variables.Allows conversion between Bytes, Ints, Longs and Floats.Useful when you need to store Ints, Longs and Floats into Byte based memory.Uses a simple 32-bit C Union to overlay the following variable types into the same RAM space.Byte[4], Int[2], Long, Float
  
 
|-
 
|-
|width=30%|[[File:Component Icon 47f6b39b_ead7_40f5_9931_8a79aa54014a.png|Image]] [[Component: ID 47f6b39b_ead7_40f5_9931_8a79aa54014a|Modbus Master]]
+
|width=30%|[[File:Component Icon eaee384d_6b16_4988_b1aa_8628231a7128.png|Image]] [[Component: ID eaee384d_6b16_4988_b1aa_8628231a7128|WAV Library File]]
  
| Modbus component for talking to Modbus compatible hardware via RS232 or RS485.  
+
| Allows WAV files to be played or recorded using a file component to provide the data.Complete with buffer to allow for uninterrupted playback when performing other tasks.Playback compatible with analogue outputs such as DAC or PWM.Recording compatible with analogue inputs such as a Microphone.
 +
|}
  
|-
+
==Comms==
|width=30%|[[File:Component Icon 97647329_1e06_46dc_ba11_9d721038294d.png|Image]] [[Component: ID 97647329_1e06_46dc_ba11_9d721038294d|Modbus Master]]
+
===Comms: Interface===
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon da332928_6342_4c2c_afc7_eaf33917d33e.png|Image]] [[Component: ID da332928_6342_4c2c_afc7_eaf33917d33e|CAN (Internal, MCP2515)]]
  
| Modbus component for talking to Modbus compatible hardware via RS232 or RS485.  
+
| Low level routines for controling the CAN interface either using an external MCP2515 IC and a SPI bus connectionor using an internal CAN peripheral if available on your device. Both methods will require a CAN driver IC like the MCP2551 to drive the CAN signals on the bus.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 687f8ad4_59f2_4079_bb84_7713dcb57a13.png|Image]] [[Component: ID 687f8ad4_59f2_4079_bb84_7713dcb57a13|Modbus Slave]]
+
|width=30%|[[File:Component Icon 24219805_113d_4b12_b6bd_e1b0b0c33981.png|Image]] [[Component: ID 24219805_113d_4b12_b6bd_e1b0b0c33981|I2C Master]]
  
| Modbus component for creating Modbus compatible slave hardware via RS232 or RS485.
+
| Generic Two Wire I2C Communications Interface
  
 
|-
 
|-
|width=30%|[[File:Component Icon a93b1f52_b96d_4a14_806e_63f73d2654b2.png|Image]] [[Component: ID a93b1f52_b96d_4a14_806e_63f73d2654b2|Modbus Slave]]
+
|width=30%|[[File:Component Icon eac43fda_0bc5_4b08_881c_6d3e364f2eff.png|Image]] [[Component: ID eac43fda_0bc5_4b08_881c_6d3e364f2eff|I2C Slave]]
  
| Modbus component for creating Modbus compatible slave hardware via RS232 or RS485.
+
| Generic Two Wire I2C Communications Interface
  
 
|-
 
|-
|width=30%|[[File:Component Icon 019e3dbb_2bfa_44a7_baf0_17b672d9b8f4.png|Image]] [[Component: ID 019e3dbb_2bfa_44a7_baf0_17b672d9b8f4|Modbus TCP Master]]
+
|width=30%|[[File:Component Icon 081af1a1_da0b_426d_9ca6_58d8313d1499.png|Image]] [[Component: ID 081af1a1_da0b_426d_9ca6_58d8313d1499|I2S MasterSlave ESP32]]
  
| Modbus component for talking to Modbus compatible hardware via Ethernet or WIFI.Ensure TCP/IP or WIFI component is initialised and connected to a network before calling the ModbusMasterTCP component macros.
+
| Provides access to the onboard inter-IC sound (I2S) peripheras allowing for simple digital audio input and output.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 1ecb9b0a_53e7_45c9_ab6f_7a0d4a0c47e1.png|Image]] [[Component: ID 1ecb9b0a_53e7_45c9_ab6f_7a0d4a0c47e1|Modbus TCP Slave]]
+
|width=30%|[[File:Component Icon 64b26b13_68cf_4a92_8616_e882b7c71023.png|Image]] [[Component: ID 64b26b13_68cf_4a92_8616_e882b7c71023|One Wire]]
  
| Modbus component for creating Modbus compatible slave hardware via Ethernet or WIFI.Ensure TCP/IP or WIFI component is initialised and connected to a network before calling the ModbusSlaveTCP component macros.
+
| Low level routines for controlling or interacting with a standard one wire interface.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 6436a040_ccc8_46e5_82c1_68f8d87b16c5.png|Image]] [[Component: ID 6436a040_ccc8_46e5_82c1_68f8d87b16c5|Visi (4DSystems)]]
+
|width=30%|[[File:Component Icon 55831e22_7885_4e0f_a9de_73ebda9d7fe9.png|Image]] [[Component: ID 55831e22_7885_4e0f_a9de_73ebda9d7fe9|One Wire (DS2482)]]
  
| A way of interacting with the VISI interface designed by 4D systems.VISI firmware must be pre-loaded onto the SD card connected to the display to allow everything to work correctly.
+
| A One Wire master transciever controlled using I2C comms.Useful for microcontroller devices where One Wire communications timings are too tight todo reliably.
|}
 
===Comms: USB===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 06a0a9b3_dd23_4592_a781_537a31b97c2a.png|Image]] [[Component: ID 06a0a9b3_dd23_4592_a781_537a31b97c2a|USB HID]]
+
|-
 +
|width=30%|[[File:Component Icon 96862c4d_debc_45fa_9433_74711a4b9a3b.png|Image]] [[Component: ID 96862c4d_debc_45fa_9433_74711a4b9a3b|SPI Master]]
  
| Component to create and communicate using a standard HID type USB class.Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.Note that AVR is currently in Beta and may have problems with custom descriptors.
+
| Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.If the hardware SPI pins are in use or more SPI channels are required then there is also a software mode available.
  
 
|-
 
|-
|width=30%|[[File:Component Icon fdceef06_919a_405b_8d0b_6118cd0e104c.png|Image]] [[Component: ID fdceef06_919a_405b_8d0b_6118cd0e104c|USB MIDI]]
+
|width=30%|[[File:Component Icon e2955f6c_d724_4ab0_afca_d62093a77248.png|Image]] [[Component: ID e2955f6c_d724_4ab0_afca_d62093a77248|SPI Slave]]
  
| Component to create and communicate using a standard MIDI connection.Compatible with simulation and USB enabled microcontroller devices.Currently only compatible with the 16-bit PIC range of devices.
+
| Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 3e28ac22_2855_410a_9660_0b0a4731e545.png|Image]] [[Component: ID 3e28ac22_2855_410a_9660_0b0a4731e545|USB Serial]]
+
|width=30%|[[File:Component Icon c73616d1_7ad0_45d9_aada_69ccfa4c5efc.png|Image]] [[Component: ID c73616d1_7ad0_45d9_aada_69ccfa4c5efc|UART (RS232)]]
  
| Component to create and communicate using a standard CDC type COM port.Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.
+
| Low level routines for controlling or interacting with a standard asyncronous serial interface.On a microcontroller the interface will be the onboard UART which will need voltage level shifting using a max2323 to become RS232 compatible.See the EB015 RS232 E-block for details.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 26cbc2df_5ef0_47db_ab2f_c2425b14462f.png|Image]] [[Component: ID 26cbc2df_5ef0_47db_ab2f_c2425b14462f|USB Slave]]
+
|width=30%|[[File:Component Icon 743ea495_34e7_47ee_bd79_3bfdc067b01c.png|Image]] [[Component: ID 743ea495_34e7_47ee_bd79_3bfdc067b01c|UART Software (Timer)]]
  
| Component to create and communicate using a generic USB communications profile.Has the ability to allow the device to be a slave to the PC.Compatible with simulation and USB enabled microcontroller devices (PIC/dsPIC).
+
| Creates a reliable software UART that can be driven using a timer interrupt setup by the user.The timer interrupt must be interrupting at the required baud rate. e.g 9600Hz.
 
|}
 
|}
===Wireless===
+
 
 +
===Comms: IoT / Cloud===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
|width=30%|[[File:Component Icon cff93310_545b_4948_a8fa_12b119c5f7a7.png|Image]] [[Component: ID cff93310_545b_4948_a8fa_12b119c5f7a7|Bluetooth (EB024, Generic AT)]]
+
|width=30%|[[File:Component Icon 72cd9559_26f7_4ffd_984c_cf3a82a6db16.png|Image]] [[Component: ID 72cd9559_26f7_4ffd_984c_cf3a82a6db16|BBC News]]
  
| Low level routines for controlling a standard AT Bluetooth interface.Also available in the form of the EB024 Bluetooth E-block.
+
| Easily allows you to collect the news headlines and stories from the BBC RSS feed.
  
 
|-
 
|-
|width=30%|[[File:Component Icon a8dbe015_0985_4581_abd5_1cc44f576fab.png|Image]] [[Component: ID a8dbe015_0985_4581_abd5_1cc44f576fab|Bluetooth (HC05 HC06)]]
+
|width=30%|[[File:Component Icon df96ffa1_4d36_453a_8877_758f68a2676c.png|Image]] [[Component: ID df96ffa1_4d36_453a_8877_758f68a2676c|BBC Weather Forecast]]
  
| Low level routines for controlling or interacting with a HC05 or HC06 Bluetooth module.Contains functions to allow the baud rate, bluetooth name and bluetooth key to be defined.
+
| Easily allows you to collect three day forecasted weather metrics for your area using the BBC Weather data service.Supports Min/Max temperature, Wind Direction, Wind Speed, Visibility, Pressure, Humidty, UV Risk, Pollution and Sun Rise/Set times for your selected area.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0c7df3fc_a46f_4712_8cd3_77079978f4fc.png|Image]] [[Component: ID 0c7df3fc_a46f_4712_8cd3_77079978f4fc|Bluetooth (RN4677)]]
+
|width=30%|[[File:Component Icon bf90426c_1763_4a7a_be5c_b3e442e3f6d8.png|Image]] [[Component: ID bf90426c_1763_4a7a_be5c_b3e442e3f6d8|BBC Weather Observation]]
  
| Low level routines for controlling a Microchip RN4677 Bluetooth Module.Also available in the form of the BL0170 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
+
| Easily allows you to collect observed weather metrics for your area using the BBC Weather data service.Supports temperature and humidty for your selected area.Also available are Wind Direction, Wind Speed and Air Pressure but please note these are not always available depending on your selected area.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 76b3eb5c_2d23_4c8d_bde8_505032bc886a.png|Image]] [[Component: ID 76b3eb5c_2d23_4c8d_bde8_505032bc886a|Bluetooth v2 (EB024, Generic AT)]]
+
|width=30%|[[File:Component Icon 947089aa_ca9f_4e6f_9f86_7d49a1ae6f86.png|Image]] [[Component: ID 947089aa_ca9f_4e6f_9f86_7d49a1ae6f86|EtherCAT Slave (EasyCAT)]]
  
| Low level routines for controlling a standard AT Bluetooth interface.Also available in the form of the EB024 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware channel.
+
| Provides support for the EtherCAT Slave industrial protocol using an EasyCAT Arduino shield.The shield can be driven from a Flowcode compatible Arduino type board or can be drivenusing an Arduino using the SCADA Slave firmware to drive EtherCAT from the Flowcodesimulation runtime. Compatible with the EasyCAT Easy Configurator tool.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 575a3a3f_09b8_46be_8069_c4d1894d7e7e.png|Image]] [[Component: ID 575a3a3f_09b8_46be_8069_c4d1894d7e7e|GPS (EB056, Generic NMEA)]]
+
|width=30%|[[File:Component Icon 2740a93b_32a9_48d1_8fc3_089d13b50bb5.png|Image]] [[Component: ID 2740a93b_32a9_48d1_8fc3_089d13b50bb5|IoT Made Easy]]
  
| Component designed to process incoming NMEA style GPS data and convert into meaningfulvalues such as longitude, lattitude, ground speed, UTC date and time.Also available in the form of the EB056 GPS E-block.
+
| A component designed to simplify MQTT comms allowing for multiple data streams to be dealt within a simple manner. Deals with translating values to and from the broker from topic strings into message IDs and numeric values. Works with lots of different MQTT brokers.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0d02ccfd_4cda_42b8_91d8_5392f491f9af.png|Image]] [[Component: ID 0d02ccfd_4cda_42b8_91d8_5392f491f9af|GSM (EB066, Generic AT)]]
+
|width=30%|[[File:Component Icon 459c9cfb_82e3_40ad_9456_54fc40ba5e6c.png|Image]] [[Component: ID 459c9cfb_82e3_40ad_9456_54fc40ba5e6c|MQTT Client]]
  
| Low level routines for controlling a standard AT GSM / GPRS interfaceAlso available in the form of the EB066 GSM E-block.
+
| A component providing access to MQTT IoT client.The client can connect to a MQTT server such as ThingSpeak.Allowing IoT type data to be published and read back.
 +
|}
  
|-
+
===Comms: Networking===
|width=30%|[[File:Component Icon 2bfc8781_9817_4e0c_89f3_28dac37e9a62.png|Image]] [[Component: ID 2bfc8781_9817_4e0c_89f3_28dac37e9a62|IrDA (EB012, MCP1250, MCP2120)]]
+
{| class="wikitable" width="85%"
  
| Low level routines for controlling a standard IrDA interface.Also available in the form of the EB012 IrDA E-block.
+
|width=30%|[[File:Component Icon 91049bf5_2436_42dc_947a_c30c86463d98.png|Image]] [[Component: ID 91049bf5_2436_42dc_947a_c30c86463d98|Network Communications]]
 +
 
 +
| A component designed to simplify the process of TCP/IP communications.Compatible with most of the Flowcode supported TCP/IP and WIFI components.A useful building block for creating components such as IoT and Modbus TCP.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 81e90a9f_1594_4b34_8aef_5dd671dddc30.png|Image]] [[Component: ID 81e90a9f_1594_4b34_8aef_5dd671dddc30|RC5 (EB060, Generic 36KHz)]]
+
|width=30%|[[File:Component Icon 54369d81_80ed_4d59_97bf_91f4b2cdf24c.png|Image]] [[Component: ID 54369d81_80ed_4d59_97bf_91f4b2cdf24c|TCP Template]]
  
| Low level routines for controlling a standard RC5 IR interface.Also available in the form of the EB060 RC5 E-block.
+
| Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation.Suitable for inheriting
  
 
|-
 
|-
|width=30%|[[File:Component Icon 882b6951_9944_48cc_8989_6ebd3d91956f.png|Image]] [[Component: ID 882b6951_9944_48cc_8989_6ebd3d91956f|RF 2.4GHz (nRF24L01)]]
+
|width=30%|[[File:Component Icon 8aab4b54_a912_449c_b11a_7c1a5db8d591.png|Image]] [[Component: ID 8aab4b54_a912_449c_b11a_7c1a5db8d591|TCPIP (ENC28J60)]]
  
| A simple RF communications module based on the 2.4GHz nRF24L01 modules.
+
| A set of routines used to control a ENC28J60 TCP/IP Module.Required connections VCC, Reset, GND, SCK, MISO, MOSI, CS.Leave these pins disconnected CLKOUT, ENC_WOL, ENC_INT
  
 
|-
 
|-
|width=30%|[[File:Component Icon 45bd9065_b6f7_42be_b96f_28c3df2c0a22.png|Image]] [[Component: ID 45bd9065_b6f7_42be_b96f_28c3df2c0a22|RF ISM (EB063, MRF49XA)]]
+
|width=30%|[[File:Component Icon a1820de1_8cfe_4675_b185_a62ce44e2a6f.png|Image]] [[Component: ID a1820de1_8cfe_4675_b185_a62ce44e2a6f|TCPIP (NM7010A)]]
  
| A simple RF-ISM communications module based on the Microchip Alpha MRF49XA device.Also available in the form of the EB063 RF E-block.
+
| TCP/IP component designed to work with the WIZ3100 range of modules from Wiznet.Also available in the form of the version 1 EB023 E-block which uses the NM7010A module.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 74423151_1bf4_48b8_8ba8_a70c170ef2de.png|Image]] [[Component: ID 74423151_1bf4_48b8_8ba8_a70c170ef2de|RFID (EB052, RWD_MICODE)]]
+
|width=30%|[[File:Component Icon 0341d84f_f7fd_473c_8076_b38b2d563e13.png|Image]] [[Component: ID 0341d84f_f7fd_473c_8076_b38b2d563e13|TCPIP (Raspberry Pi)]]
  
| Low level routines for controlling a RF Solutions RFID interfaceAllows communications between Mifare, ICode and HiTag type RFID tags.Also available in the form of the EB052 RFID E-block.
+
| TCP/IP sockets component for use with Raspberry Pi.Raspberry Pi Only
  
 
|-
 
|-
|width=30%|[[File:Component Icon 3f8d29a6_40a6_4d5e_a254_190c86d9ebb7.png|Image]] [[Component: ID 3f8d29a6_40a6_4d5e_a254_190c86d9ebb7|RFID (MFRC522)]]
+
|width=30%|[[File:Component Icon e18e39d3_2e05_4a15_b8aa_e8ada16cd3ef.png|Image]] [[Component: ID e18e39d3_2e05_4a15_b8aa_e8ada16cd3ef|TCPIP (W5500)]]
  
| Functions designed to work with the MFRC522 contactless reader IC.The MFRC522 supports all variants of the MIFARE Mini, MIFARE 1K, MIFARE 4K, MIFARE Ultralight, MIFARE DESFire EV1 and MIFARE Plus RF identification protocols.
+
| TCP/IP component designed to work with the W5500 device used on the ETH WIZ Click
  
 
|-
 
|-
|width=30%|[[File:Component Icon cd5898bf_3a23_455e_b4e0_cddc1eec1d62.png|Image]] [[Component: ID cd5898bf_3a23_455e_b4e0_cddc1eec1d62|SRF (WirelessThings) (SRF)]]
+
|width=30%|[[File:Component Icon d6db973b_a543_4743_91b5_176f9c6613df.png|Image]] [[Component: ID d6db973b_a543_4743_91b5_176f9c6613df|TCPIP (WIZ810MJ W5100)]]
  
| The SRF is designed for wireless transmission and reception of serial data in an easy to use surface mounted module. It has an on-board balun and chip antenna, which can be detached for applications where an external antenna is required.
+
| TCP/IP component designed to work with the WIZ810MJ module or W5100 IC from Wiznet,as used on version 2 EB023 E-block and the MIAC Industrial Addon module.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 53548cbe_cd57_471c_8ac1_3205d0e9da38.png|Image]] [[Component: ID 53548cbe_cd57_471c_8ac1_3205d0e9da38|Zigbee (EB051, XBEE) (XBEE)]]
+
|width=30%|[[File:Component Icon 0dde7075_368e_404c_9d88_d9c6bec55172.png|Image]] [[Component: ID 0dde7075_368e_404c_9d88_d9c6bec55172|WLAN (EB069, WIZ610wi)]]
  
| Zigbee component designed to work with the XBEE range of modules from Digi.Provides a very simple interface to allow Zigbee mesh networks and communications.Also available in the form of the EB051 Zigbee E-block. Can also be used with Zigbee MIAC Addon module
+
| Wireless LAN component designed to work with the WIZ610wi module from Wiznet.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
|}
 
  
==Hardware==
+
|-
===E-blocks 1===
+
|width=30%|[[File:Component Icon 66990164_3c50_4960_916d_327737a7a093.png|Image]] [[Component: ID 66990164_3c50_4960_916d_327737a7a093|WLAN (ESP-12S)]]
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon b81925b1_7504_4d77_ac90_3a4fa700fcc4.png|Image]] [[Component: ID b81925b1_7504_4d77_ac90_3a4fa700fcc4|Accelerometer (EB068)]]
+
| Wireless LAN component designed to work with the ESP-12S module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the BL0136 WIFI E-block.
 
 
| LIS3LV02DQ Accelerometer sensor with options for I2C or SPI communications.Useful for approximating Pitch and Roll or for detecting acceleration.Also available in the form of the EB068 Accelerometer E-block.
 
  
 
|-
 
|-
|width=30%|[[File:Component Icon 9a7d4e50_8d7e_4c5e_9a93_7948ab47edad.png|Image]] [[Component: ID 9a7d4e50_8d7e_4c5e_9a93_7948ab47edad|Combo Board (EB083)]]
+
|width=30%|[[File:Component Icon e1bb4679_58ef_40dc_8d09_306ada46f7bf.png|Image]] [[Component: ID e1bb4679_58ef_40dc_8d09_306ada46f7bf|WLAN (ESP8266)]]
  
| A simulated version of the EB083 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.
+
| Wireless LAN component designed to work with the ESP8266 module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 87d8bad5_6392_41fb_b370_d9b2c0f8f13f.png|Image]] [[Component: ID 87d8bad5_6392_41fb_b370_d9b2c0f8f13f|DSP Audio Input (EB085)]]
+
|width=30%|[[File:Component Icon f0f54e46_0848_4930_9bb6_eff9a34ed229.png|Image]] [[Component: ID f0f54e46_0848_4930_9bb6_eff9a34ed229|WLAN ESP32 (ESP32)]]
  
| 16-bit external ADC connected to the microcontroller using SPI.
+
| Wireless LAN component designed to work with ESP32 modules
  
 
|-
 
|-
|width=30%|[[File:Component Icon e83923b3_994a_41c9_b277_5b107ab6e1dd.png|Image]] [[Component: ID e83923b3_994a_41c9_b277_5b107ab6e1dd|DSP Audio Output (EB086)]]
+
|width=30%|[[File:Component Icon a1c9b843_a641_4b9c_b762_26995b8f9464.png|Image]] [[Component: ID a1c9b843_a641_4b9c_b762_26995b8f9464|Webserver (GENERIC _ ROM FAT)]]
  
| 16-bit external DAC connected to the microcontroller using SPI.
+
| Webserver component designed to work with Network Comms abstraction layer.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Webpages can be embedded into ROM or can be pulled directly from an SD card using the FAT component.
  
 
|-
 
|-
|width=30%|[[File:Component Icon a5320e5b_75c1_4e67_9ed4_e933f40efc9a.png|Image]] [[Component: ID a5320e5b_75c1_4e67_9ed4_e933f40efc9a|E_block Helper]]
+
|width=30%|[[File:Component Icon ff377ede_2c09_4a83_99a0_5e11c7ae16d9.png|Image]] [[Component: ID ff377ede_2c09_4a83_99a0_5e11c7ae16d9|Webserver (NM7010A) (NM7010A)]]
  
| A purely cosmetic component to help simplify E-block connections without having to keep referring to the datasheets.Specify which E-block your using and the component will give you options for the patch settings and display the connections required.
+
| Webserver component designed to work with the NM7010A module from Wiznet,as used in the version 1 EB023 E-block.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 15d02383_645d_4bbe_8732_a67162cdb90c.png|Image]] [[Component: ID 15d02383_645d_4bbe_8732_a67162cdb90c|GLCD (EB043 v1)]]
+
|width=30%|[[File:Component Icon f77f2b22_6a7c_4ae6_9f5f_724660cc6c93.png|Image]] [[Component: ID f77f2b22_6a7c_4ae6_9f5f_724660cc6c93|Webserver (W5500)]]
  
| Graphical display component designed to work with the legacy version 1 EB043 E-blocks.
+
| Webserver component designed to work with the W5500 module from Wiznet, as use by the ETH WIZ Click Module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
  
 
|-
 
|-
|width=30%|[[File:Component Icon c3e842d5_cf5d_4e4e_a406_95067ba26693.png|Image]] [[Component: ID c3e842d5_cf5d_4e4e_a406_95067ba26693|GLCD (EB043 v2)]]
+
|width=30%|[[File:Component Icon 9e68a715_edc2_4a98_be64_c0d02f700135.png|Image]] [[Component: ID 9e68a715_edc2_4a98_be64_c0d02f700135|Webserver (WIZ810MJ)]]
  
| Graphical display component designed to work with the legacy version 2 EB043 E-blocks.
+
| Webserver component designed to work with the WIZ810MJ module from Wiznet,as used in the version 2 EB023 E-block and MIAC System Industrial Addon.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
 +
|}
  
|-
+
===Comms: System===
|width=30%|[[File:Component Icon c4badacf_868a_4744_ad5a_a74fea126d6b.png|Image]] [[Component: ID c4badacf_868a_4744_ad5a_a74fea126d6b|GLCD (EB057 / EB058)]]
+
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon 5aefac05_ee5e_4d51_9f31_05281900a97e.png|Image]] [[Component: ID 5aefac05_ee5e_4d51_9f31_05281900a97e|DALI Master]]
  
| Graphical display component designed to work with the EB057 modules and EB058 E-blocks.
+
| A serial based communications protocol designed for controlling lighting, specifically digitallycontrolled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from VCC and GND to +9.5V - +25.5V and GND. The master component can addess up to 64 individual slaves & up to 16 groups.
  
 
|-
 
|-
|width=30%|[[File:Component Icon c7ba30ad_1d81_496e_b2ca_e4efb109521b.png|Image]] [[Component: ID c7ba30ad_1d81_496e_b2ca_e4efb109521b|GLCD (EB075)]]
+
|width=30%|[[File:Component Icon c714f39e_c8fb_413f_afda_2d169e655134.png|Image]] [[Component: ID c714f39e_c8fb_413f_afda_2d169e655134|DALI Slave]]
  
| Graphical display component designed to work with the Goldelox range of displays from 4D Systems.Also available in the form of the EB075 GLCD E-block.
+
| A serial based communications protocol designed for controlling lighting, specifically digitallycontrolled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from VCC and GND to +9.5V - +25.5V and GND using external circuitry.  
  
 
|-
 
|-
|width=30%|[[File:Component Icon cb40c3c2_03fd_4d66_9364_790e72714bcb.png|Image]] [[Component: ID cb40c3c2_03fd_4d66_9364_790e72714bcb|GLCD (EB076 v2) (EB076)]]
+
|width=30%|[[File:Component Icon b4e10f9e_4ea9_4fbc_a584_a4d7d4d8fba6.png|Image]] [[Component: ID b4e10f9e_4ea9_4fbc_a584_a4d7d4d8fba6|DMX_512 Master]]
  
| Graphical display component designed to work with the Picaso range of displays from 4D Systems.Also available in the form of the EB076 GLCD Touchscreen E-block.Component based around the uLCD-32PTU display.
+
| A serial based communications protocol designed for controlling theatrical equipment suchas dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained together with a final 180R terminating resistor at the end of the chail. DMX requires the signalto be level shifted from VCC and GND to +2.5V and -2.5V.  
  
 
|-
 
|-
|width=30%|[[File:Component Icon c6586b24_9a1c_4e19_8051_8ae5923c418a.png|Image]] [[Component: ID c6586b24_9a1c_4e19_8051_8ae5923c418a|GLCD (EB076) (EB076)]]
+
|width=30%|[[File:Component Icon 1be0ac44_3521_402e_a8b7_1faf86c09560.png|Image]] [[Component: ID 1be0ac44_3521_402e_a8b7_1faf86c09560|DMX_512 Slave]]
  
| Graphical display component designed to work with the Picaso range of displays from 4D Systems.Also available in the form of the EB076 GLCD Touchscreen E-block.Component based around the uLCD-32PT display.
+
| A serial based communications protocol designed for controlling theatrical equipment suchas dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained together with a final 180R terminating resistor at the end of the chail. DMX requires the signalto be level shifted from VCC and GND to +2.5V and -2.5V.  
  
 
|-
 
|-
|width=30%|[[File:Component Icon e871d984_b0e0_4185_8d94_b11d28040996.png|Image]] [[Component: ID e871d984_b0e0_4185_8d94_b11d28040996|Keypad (EB014)]]
+
|width=30%|[[File:Component Icon 5915b437_6925_4d90_a0f8_f91702837bdb.png|Image]] [[Component: ID 5915b437_6925_4d90_a0f8_f91702837bdb|I2C Multiplexer (TCA9548A)]]
  
| Preset keypad based around the 3 * 4 unit, as used by the Matrix EB014 E-block
+
| An I2C multiplexing IC allowing up to 8 different I2C busses to be connected to a singleI2C channel on your target microcontroller.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d29dda88_17de_4008_991a_c881890d4c57.png|Image]] [[Component: ID d29dda88_17de_4008_991a_c881890d4c57|LCD (EB005)]]
+
|width=30%|[[File:Component Icon 76bb1b8c_43da_48d3_b53f_a9907f03a528.png|Image]] [[Component: ID 76bb1b8c_43da_48d3_b53f_a9907f03a528|IO Expander (MCP23017)]]
  
| LCD based on the unit used in the Matrix EB005 E-block
+
| Provides 16 digital input/output pins arranged into two 8-bit ports using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 82c2f7d0_c6ed_4c6e_8ab8_7958b490dc99.png|Image]] [[Component: ID 82c2f7d0_c6ed_4c6e_8ab8_7958b490dc99|LED  (EB004)]]
+
|width=30%|[[File:Component Icon 331daac0_653d_4f45_9822_6408a8258bda.png|Image]] [[Component: ID 331daac0_653d_4f45_9822_6408a8258bda|IO Expander (MCP23S17)]]
  
| An LED matrix made up of standard PCB mount 5mm LEDs.
+
| Provides 16 digital input/output pins arranged into two 8-bit ports using a SPI bus connection.Multiple expanders can be connected to the same SPI peripheral by means of individual chip select pins.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 4627d2fb_b41e_44cf_b125_e8511e5ebaa4.png|Image]] [[Component: ID 4627d2fb_b41e_44cf_b125_e8511e5ebaa4|SPI Master (EB013)]]
+
|width=30%|[[File:Component Icon d43a1c1f_8ad6_4271_9f62_20e1bdf529f0.png|Image]] [[Component: ID d43a1c1f_8ad6_4271_9f62_20e1bdf529f0|IO Expander (PCF8574)]]
  
| Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.If the hardware SPI pins are in use or more SPI channels are required then there is also a software mode available.Has additional functions to work with the E-blocks EB013 SPI hardware.
+
| Provides 8 digital input/output pins arranged into an 8-bit port using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.Supports the PCF8574 and PCF8574A devices allowing up to 16 expanders to be connected to the same I2C bus ( 8 x PCF8574 + 8 x PCF8574A ).
  
 
|-
 
|-
|width=30%|[[File:Component Icon 4772ea31_c5fb_4ac1_8aef_c9385a0e9a53.png|Image]] [[Component: ID 4772ea31_c5fb_4ac1_8aef_c9385a0e9a53|Switch (EB007)]]
+
|width=30%|[[File:Component Icon 4616b658_531f_4c5e_981a_4d9fc04f9a36.png|Image]] [[Component: ID 4616b658_531f_4c5e_981a_4d9fc04f9a36|IO Expander (PCF8575)]]
  
| An array of up to eight momentary push switches, each connected to a single pin of the specified port.
+
| Provides 16 digital input/output pins arranged into 8-bit ports using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.Supports the PCF8575 device allowing up to 8 expanders to be connected to the same I2C bus.
  
 
|-
 
|-
|width=30%|[[File:Component Icon bb483909_20df_4e51_ac45_092ab4adf36a.png|Image]] [[Component: ID bb483909_20df_4e51_ac45_092ab4adf36a|TCPIP (EB023 v1)]]
+
|width=30%|[[File:Component Icon a9b43242_9ccc_4f1c_b2d1_acdfbe420fc1.png|Image]] [[Component: ID a9b43242_9ccc_4f1c_b2d1_acdfbe420fc1|MIDI]]
  
| TCP/IP component designed to work with the WIZ3100 range of modules from Wiznet.Also available in the form of the version 1 EB023 E-block which uses the NM7010A module.
+
| Low level routines for controlling or interacting with a standard MIDI interface.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 35d02098_c871_49c0_b34d_a3f86d764886.png|Image]] [[Component: ID 35d02098_c871_49c0_b34d_a3f86d764886|TCPIP (EB023 v2)]]
+
|width=30%|[[File:Component Icon 43861adb_8a59_492d_8f9f_a08775800bc1.png|Image]] [[Component: ID 43861adb_8a59_492d_8f9f_a08775800bc1|MULTIUART (SPI2UART)]]
  
| TCP/IP component designed to work with the WIZ810MJ module from Wiznet,as used on version 2 EB023 E-block and the MIAC Industrial Addon module.
+
| Uses a high speed SPI connection to enable up to four buffered external UARTs via the MULTIUART modules.
  
 
|-
 
|-
|width=30%|[[File:Component Icon cbb357fa_5252_415d_80f5_01e4ab85cb4a.png|Image]] [[Component: ID cbb357fa_5252_415d_80f5_01e4ab85cb4a|Touch Pads (EB088)]]
+
|width=30%|[[File:Component Icon 47f6b39b_ead7_40f5_9931_8a79aa54014a.png|Image]] [[Component: ID 47f6b39b_ead7_40f5_9931_8a79aa54014a|Modbus Master]]
  
| This board provides five touch areas for use with capacitive sensing. Hence five digital touch switches can be implemented. This component directly interfaces with the EB088 CapTouch E-block.
+
| Modbus component for talking to Modbus compatible hardware via RS232 or RS485.  
  
 
|-
 
|-
|width=30%|[[File:Component Icon 4d985181_e4b1_4767_a068_fb31a6d68158.png|Image]] [[Component: ID 4d985181_e4b1_4767_a068_fb31a6d68158|WIFI (EB069 v2)]]
+
|width=30%|[[File:Component Icon 97647329_1e06_46dc_ba11_9d721038294d.png|Image]] [[Component: ID 97647329_1e06_46dc_ba11_9d721038294d|Modbus Master (SCADA)]]
  
| Wireless LAN component designed to work with the ESP8266 module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
+
| Modbus component for talking to Modbus compatible hardware via RS232 or RS485.  
  
 
|-
 
|-
|width=30%|[[File:Component Icon c0a18557_a477_4d5a_b9ca_e0724378d983.png|Image]] [[Component: ID c0a18557_a477_4d5a_b9ca_e0724378d983|Webserver (EB023 v1)]]
+
|width=30%|[[File:Component Icon 687f8ad4_59f2_4079_bb84_7713dcb57a13.png|Image]] [[Component: ID 687f8ad4_59f2_4079_bb84_7713dcb57a13|Modbus Slave]]
  
| Webserver component designed to work with the NM7010A module from Wiznet,as used in the version 1 EB023 E-block.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
+
| Modbus component for creating Modbus compatible slave hardware via RS232 or RS485.  
  
 
|-
 
|-
|width=30%|[[File:Component Icon ee1635e0_3008_4836_89e1_005435f4a33d.png|Image]] [[Component: ID ee1635e0_3008_4836_89e1_005435f4a33d|Webserver (EB023 v2)]]
+
|width=30%|[[File:Component Icon a93b1f52_b96d_4a14_806e_63f73d2654b2.png|Image]] [[Component: ID a93b1f52_b96d_4a14_806e_63f73d2654b2|Modbus Slave (SCADA)]]
  
| Webserver component designed to work with the WIZ810MJ module from Wiznet,as used in the version 2 EB023 E-block and MIAC System Industrial Addon.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
+
| Modbus component for creating Modbus compatible slave hardware via RS232 or RS485.  
|}
 
===E-blocks 2===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 5f9d5a58_6c01_4588_afa0_df4c01ce161a.png|Image]] [[Component: ID 5f9d5a58_6c01_4588_afa0_df4c01ce161a|Bluetooth (BL0170)]]
+
|-
 +
|width=30%|[[File:Component Icon 019e3dbb_2bfa_44a7_baf0_17b672d9b8f4.png|Image]] [[Component: ID 019e3dbb_2bfa_44a7_baf0_17b672d9b8f4|Modbus TCP Master]]
  
| Low level routines for controlling a Microchip RN4677 Bluetooth Module.Also available in the form of the BL0170 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
+
| Modbus component for talking to Modbus compatible hardware via Ethernet or WIFI.Ensure TCP/IP or WIFI component is initialised and connected to a network before calling the ModbusMasterTCP component macros.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 25db03ef_5393_4fb8_9b34_87a506428296.png|Image]] [[Component: ID 25db03ef_5393_4fb8_9b34_87a506428296|Colour GLCD (BL0157)]]
+
|width=30%|[[File:Component Icon 1ecb9b0a_53e7_45c9_ab6f_7a0d4a0c47e1.png|Image]] [[Component: ID 1ecb9b0a_53e7_45c9_ab6f_7a0d4a0c47e1|Modbus TCP Slave]]
  
| Graphical display component designed to work with the BL0157 E-block.Based on the ILI9163C 16-bit colour graphical controller IC.
+
| Modbus component for creating Modbus compatible slave hardware via Ethernet or WIFI.Ensure TCP/IP or WIFI component is initialised and connected to a network before calling the ModbusSlaveTCP component macros.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d4c04ac8_bbcd_4981_8ce6_9d6c9bb1e26a.png|Image]] [[Component: ID d4c04ac8_bbcd_4981_8ce6_9d6c9bb1e26a|Combo (BL0114)]]
+
|width=30%|[[File:Component Icon 6436a040_ccc8_46e5_82c1_68f8d87b16c5.png|Image]] [[Component: ID 6436a040_ccc8_46e5_82c1_68f8d87b16c5|Visi (4DSystems)]]
 +
 
 +
| A way of interacting with the VISI interface designed by 4D systems.VISI firmware must be pre-loaded onto the SD card connected to the display to allow everything to work correctly.
 +
|}
  
| A component to drive the BL0114 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.
+
===Comms: USB===
 +
{| class="wikitable" width="85%"
  
|-
+
|width=30%|[[File:Component Icon 06a0a9b3_dd23_4592_a781_537a31b97c2a.png|Image]] [[Component: ID 06a0a9b3_dd23_4592_a781_537a31b97c2a|USB HID]]
|width=30%|[[File:Component Icon 7ae74a71_a424_452f_8d71_618cf50cff98.png|Image]] [[Component: ID 7ae74a71_a424_452f_8d71_618cf50cff98|E_block 2 Helper]]
 
  
| A purely cosmetic component to help simplify E-block 2 connections without having to keep referring to the datasheets.Specify which E-block 2 board your using and the component will display the connections required.
+
| Component to create and communicate using a standard HID type USB class.Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.Note that AVR is currently in Beta and may have problems with custom descriptors.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 4d50e925_93e7_43ff_9c9f_8e958b9d714c.png|Image]] [[Component: ID 4d50e925_93e7_43ff_9c9f_8e958b9d714c|GLCD Monochrome (BL0139)]]
+
|width=30%|[[File:Component Icon fdceef06_919a_405b_8d0b_6118cd0e104c.png|Image]] [[Component: ID fdceef06_919a_405b_8d0b_6118cd0e104c|USB MIDI]]
  
| Graphical display component designed to work with the EB2 BL0139 Downstream E-block.
+
| Component to create and communicate using a standard MIDI connection.Compatible with simulation and USB enabled microcontroller devices.Currently only compatible with the 16-bit PIC range of devices.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e565ab5d_bf80_4911_938a_75b226ca6f93.png|Image]] [[Component: ID e565ab5d_bf80_4911_938a_75b226ca6f93|IO Expander (BL0155)]]
+
|width=30%|[[File:Component Icon 3e28ac22_2855_410a_9660_0b0a4731e545.png|Image]] [[Component: ID 3e28ac22_2855_410a_9660_0b0a4731e545|USB Serial]]
  
| Provides 16 digital input/output pins arranged into two 8-bit E-block 2 ports using a SPI bus connection.
+
| Component to create and communicate using a standard CDC type COM port.Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.
  
 
|-
 
|-
|width=30%|[[File:Component Icon ee697d50_7fb5_4074_8cd6_996e5c386722.png|Image]] [[Component: ID ee697d50_7fb5_4074_8cd6_996e5c386722|LCD (BL0169)]]
+
|width=30%|[[File:Component Icon 26cbc2df_5ef0_47db_ab2f_c2425b14462f.png|Image]] [[Component: ID 26cbc2df_5ef0_47db_ab2f_c2425b14462f|USB Slave]]
  
| LCD component to drive the E-blocks 2 BL0169 LCD board.Provides a 4 x 20 character alphanumeric display.
+
| Component to create and communicate using a generic USB communications profile.Has the ability to allow the device to be a slave to the PC.Compatible with simulation and USB enabled microcontroller devices (PIC/dsPIC).
 
+
|}
|-
+
===Wireless===
|width=30%|[[File:Component Icon 103aab27_2ea3_483c_9710_fc3c495288a7.png|Image]] [[Component: ID 103aab27_2ea3_483c_9710_fc3c495288a7|LED (BL0167)]]
+
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon cff93310_545b_4948_a8fa_12b119c5f7a7.png|Image]] [[Component: ID cff93310_545b_4948_a8fa_12b119c5f7a7|Bluetooth (EB024, Generic AT)]]
  
| LED component to drive the E-blocks 2 BL0167 LED board.Provides eight individually addressable LEDs.
+
| Low level routines for controlling a standard AT Bluetooth interface.Also available in the form of the EB024 Bluetooth E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon bc8ae960_3887_4d08_ac7c_1eedb8e5f6c8.png|Image]] [[Component: ID bc8ae960_3887_4d08_ac7c_1eedb8e5f6c8|Servo Motor (BL0162)]]
+
|width=30%|[[File:Component Icon 8be2ce64_4860_468a_aa8a_eac443274da3.png|Image]] [[Component: ID 8be2ce64_4860_468a_aa8a_eac443274da3|Bluetooth (ESP32 SPP)]]
  
| Servo motor component to drive the E-blocks 2 BL0162 Servo Motors board.Provides up to eight individually addressable connections for standard DC servo motors to be connected.
+
| Bluetooth slave component designed to run on a ESP32 providing legacy SPP functionality.BT Legacy functionality must be switched on via the sdkconfig file.
  
 
|-
 
|-
|width=30%|[[File:Component Icon b3a7287a_4070_49d1_9122_bf6169f67cd1.png|Image]] [[Component: ID b3a7287a_4070_49d1_9122_bf6169f67cd1|Switch (BL0145)]]
+
|width=30%|[[File:Component Icon a8dbe015_0985_4581_abd5_1cc44f576fab.png|Image]] [[Component: ID a8dbe015_0985_4581_abd5_1cc44f576fab|Bluetooth (HC05 HC06)]]
  
| A set of 8 push switches that can be connected to an E-blocks 2 upstream board via a port connector.Switches are wired in an active high configuration.
+
| Low level routines for controlling or interacting with a HC05 or HC06 Bluetooth module.Contains functions to allow the baud rate, bluetooth name and bluetooth key to be defined.
  
 
|-
 
|-
|width=30%|[[File:Component Icon ea9c0946_5f88_4f9a_ae5f_8ba9b981b389.png|Image]] [[Component: ID ea9c0946_5f88_4f9a_ae5f_8ba9b981b389|WIFI (BL0136)]]
+
|width=30%|[[File:Component Icon 0c7df3fc_a46f_4712_8cd3_77079978f4fc.png|Image]] [[Component: ID 0c7df3fc_a46f_4712_8cd3_77079978f4fc|Bluetooth (RN4677)]]
  
| Wireless LAN component designed to work with the ESP-12S module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the BL0136 WIFI E-block.
+
| Low level routines for controlling a Microchip RN4677 Bluetooth Module.Also available in the form of the BL0170 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
|}
 
===EBM Modules===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon bdb9fcf6_3fb3_4051_8078_455b44cb249c.png|Image]] [[Component: ID bdb9fcf6_3fb3_4051_8078_455b44cb249c|Accel Mag 6_Axis (EBM015)]]
+
|-
 +
|width=30%|[[File:Component Icon 76b3eb5c_2d23_4c8d_bde8_505032bc886a.png|Image]] [[Component: ID 76b3eb5c_2d23_4c8d_bde8_505032bc886a|Bluetooth v2 (EB024, Generic AT)]]
  
| EBM015 Combined 6-Axis Accelerometer and Magnetometer sensorsUseful for working out data such as Pitch and Yaw.
+
| Low level routines for controlling a standard AT Bluetooth interface.Also available in the form of the EB024 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware channel.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 749afd05_ce22_42cb_b17e_3f424cbca6b0.png|Image]] [[Component: ID 749afd05_ce22_42cb_b17e_3f424cbca6b0|Colour Sensor (EBM018)]]
+
|width=30%|[[File:Component Icon 575a3a3f_09b8_46be_8069_c4d1894d7e7e.png|Image]] [[Component: ID 575a3a3f_09b8_46be_8069_c4d1894d7e7e|GPS (EB056, Generic NMEA)]]
  
| This board provides the ability to detect colours using the TCS3200 sensor. It will return RGB and W values, dependent on the colour of the object under test.  
+
| Component designed to process incoming NMEA style GPS data and convert into meaningfulvalues such as longitude, lattitude, ground speed, UTC date and time.Also available in the form of the EB056 GPS E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e3fdcca6_1408_4389_8e2d_e741b06b3463.png|Image]] [[Component: ID e3fdcca6_1408_4389_8e2d_e741b06b3463|Digital Temperature (EBM004)]]
+
|width=30%|[[File:Component Icon 0d02ccfd_4cda_42b8_91d8_5392f491f9af.png|Image]] [[Component: ID 0d02ccfd_4cda_42b8_91d8_5392f491f9af|GSM (EB066, Generic AT)]]
  
| A digital temperature sensor based around the LM75B chip.
+
| Low level routines for controlling a standard AT GSM / GPRS interfaceAlso available in the form of the EB066 GSM E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 245b0876_a350_4546_bb71_b427ff6ec9ef.png|Image]] [[Component: ID 245b0876_a350_4546_bb71_b427ff6ec9ef|Dual Potentiometer _ Trimmer (EBM006)]]
+
|width=30%|[[File:Component Icon 2bfc8781_9817_4e0c_89f3_28dac37e9a62.png|Image]] [[Component: ID 2bfc8781_9817_4e0c_89f3_28dac37e9a62|IrDA (EB012, MCP1250, MCP2120)]]
  
| This board provides two rotary potentiometers. This component directly interfaces with the EBM006 Dual Trimmers sensors board.
+
| Low level routines for controlling a standard IrDA interface.Also available in the form of the EB012 IrDA E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 5a6d2f2e_da92_49b4_ad5c_71f51e8fe24b.png|Image]] [[Component: ID 5a6d2f2e_da92_49b4_ad5c_71f51e8fe24b|GLCD (EBM001)]]
+
|width=30%|[[File:Component Icon ea261653_86e2_4c37_94f6_4151b318c6f5.png|Image]] [[Component: ID ea261653_86e2_4c37_94f6_4151b318c6f5|LoRa (LAMBDA, SX1272)]]
  
| Graphical display component designed to work with the EBM001 modules and EB084 E-blocks.Based on the ILI9163C 16-bit colour graphical controller IC.
+
| Component to drive the LAMBDA LoRa Transciever module from RF Solutions.Uses an SPI bus connection to the microcontroller.Uses the Semtech SX1272 Transciever IC.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 7b1edf74_d0c8_4b1d_a8b3_54580ed79f64.png|Image]] [[Component: ID 7b1edf74_d0c8_4b1d_a8b3_54580ed79f64|Gyroscope (EBM009)]]
+
|width=30%|[[File:Component Icon 81e90a9f_1594_4b34_8aef_5dd671dddc30.png|Image]] [[Component: ID 81e90a9f_1594_4b34_8aef_5dd671dddc30|RC5 (EB060, Generic 36KHz)]]
  
| Interface to the L3G4200D three axis digital gyroscope.  Panel GUI can be used to simulateincoming data for testing.
+
| Low level routines for controlling a standard RC5 IR interface.Also available in the form of the EB060 RC5 E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon b42786ab_fd9a_47cf_b3c4_560ecdc613fd.png|Image]] [[Component: ID b42786ab_fd9a_47cf_b3c4_560ecdc613fd|Hall Effect (EBM011)]]
+
|width=30%|[[File:Component Icon 882b6951_9944_48cc_8989_6ebd3d91956f.png|Image]] [[Component: ID 882b6951_9944_48cc_8989_6ebd3d91956f|RF 2.4GHz (nRF24L01)]]
  
| The board has a Hall Effect sensor (SL353) that gives a digital output in the presence of a magnetic field (in the region of 60 Gauss) from a permanent magnet or electromagnet, either North or South pole.
+
| A simple RF communications module based on the 2.4GHz nRF24L01 modules.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 5cb8f1ac_bab2_4740_9a9d_01602a5fb196.png|Image]] [[Component: ID 5cb8f1ac_bab2_4740_9a9d_01602a5fb196|Humidity  (EBM016)]]
+
|width=30%|[[File:Component Icon 45bd9065_b6f7_42be_b96f_28c3df2c0a22.png|Image]] [[Component: ID 45bd9065_b6f7_42be_b96f_28c3df2c0a22|RF ISM (EB063, MRF49XA)]]
  
| Humidity and temperature sensor using an SHT21 IC connected via I2C - as used by theMatrix e-block module EBM016.On screen GUI allows temperature and humidity values to be simulated, and will show allI2C communication in a console window.
+
| A simple RF-ISM communications module based on the Microchip Alpha MRF49XA device.Also available in the form of the EB063 RF E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon a6989ec5_8d9b_4c16_b06f_b55394465946.png|Image]] [[Component: ID a6989ec5_8d9b_4c16_b06f_b55394465946|Infrared (EBM020)]]
+
|width=30%|[[File:Component Icon 74423151_1bf4_48b8_8ba8_a70c170ef2de.png|Image]] [[Component: ID 74423151_1bf4_48b8_8ba8_a70c170ef2de|RFID (EB052, RWD_MICODE)]]
  
| The Infrared sensor board contains both an IR transmitter and receiver. The transmitter is enabled via a digital control signal and the receiver provides an analogue output. By enabling the transmitter and reading the variable voltage output of the receiver it is possible to measure the distance of a reflecting object in the region of 1cm to 10cm.
+
| Low level routines for controlling a RF Solutions RFID interfaceAllows communications between Mifare, ICode and HiTag type RFID tags.Also available in the form of the EB052 RFID E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon beb1f845_8f53_4214_9b14_11b7c2bf3ba8.png|Image]] [[Component: ID beb1f845_8f53_4214_9b14_11b7c2bf3ba8|PIR (EBM012)]]
+
|width=30%|[[File:Component Icon 3f8d29a6_40a6_4d5e_a254_190c86d9ebb7.png|Image]] [[Component: ID 3f8d29a6_40a6_4d5e_a254_190c86d9ebb7|RFID (MFRC522)]]
  
| This board provides a PIR sensor which is read as a digital input.  
+
| Functions designed to work with the MFRC522 contactless reader IC.The MFRC522 supports all variants of the MIFARE Mini, MIFARE 1K, MIFARE 4K, MIFARE Ultralight, MIFARE DESFire EV1 and MIFARE Plus RF identification protocols.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 9a0503ff_2954_445e_9032_3465a05f8f82.png|Image]] [[Component: ID 9a0503ff_2954_445e_9032_3465a05f8f82|Potentiometer (EBM002)]]
+
|width=30%|[[File:Component Icon cd5898bf_3a23_455e_b4e0_cddc1eec1d62.png|Image]] [[Component: ID cd5898bf_3a23_455e_b4e0_cddc1eec1d62|SRF (WirelessThings) (SRF)]]
  
| This board consists of a standard shaft rotary potentiometer that provides a linear voltage output ranging between the microcontroller power rails. This can be connected to an Analogue to Digital input of the microcontroller in order to provide a control value.
+
| The SRF is designed for wireless transmission and reception of serial data in an easy to use surface mounted module. It has an on-board balun and chip antenna, which can be detached for applications where an external antenna is required.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 0c8229b3_03ea_415c_824b_a5c9a8394751.png|Image]] [[Component: ID 0c8229b3_03ea_415c_824b_a5c9a8394751|Rotary Encoder (EBM007)]]
+
|width=30%|[[File:Component Icon 53548cbe_cd57_471c_8ac1_3205d0e9da38.png|Image]] [[Component: ID 53548cbe_cd57_471c_8ac1_3205d0e9da38|Zigbee (EB051, XBEE) (XBEE)]]
 +
 
 +
| Zigbee component designed to work with the XBEE range of modules from Digi.Provides a very simple interface to allow Zigbee mesh networks and communications.Also available in the form of the EB051 Zigbee E-block. Can also be used with Zigbee MIAC Addon module
 +
|}
  
| Provides a rotary encoder with dual digital outputs that provide rotation and direction information. When connected to two digital inputs of a microcontroller a “digital pot” can be implemented to convert to digital values.
+
==Hardware==
 +
===E-blocks 1===
 +
{| class="wikitable" width="85%"
  
|-
+
|width=30%|[[File:Component Icon b81925b1_7504_4d77_ac90_3a4fa700fcc4.png|Image]] [[Component: ID b81925b1_7504_4d77_ac90_3a4fa700fcc4|Accelerometer (EB068)]]
|width=30%|[[File:Component Icon 2f3dd5e3_b652_4045_9ab9_10d49440e5cd.png|Image]] [[Component: ID 2f3dd5e3_b652_4045_9ab9_10d49440e5cd|Thermistor (EBM003)]]
 
  
| A generic thermistor component that can be used to simulate and create code for anythermistor with a known temperature/resistance curve. Thermistor is connected in a simplepotential divider circuit - thermistor between ADC input and 0V, and a fixed resistor betweenADC and the positive supply. The component is also used with the EBM003 module, in whichcase the extra circuitry is already included.  Default calibration is for the EBM003 module.
+
| LIS3LV02DQ Accelerometer sensor with options for I2C or SPI communications.Useful for approximating Pitch and Roll or for detecting acceleration.Also available in the form of the EB068 Accelerometer E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d5c30cea_62de_4a55_9783_9bf9d104e3ec.png|Image]] [[Component: ID d5c30cea_62de_4a55_9783_9bf9d104e3ec|Thermocouple TypeK (EBM008)]]
+
|width=30%|[[File:Component Icon 9a7d4e50_8d7e_4c5e_9a93_7948ab47edad.png|Image]] [[Component: ID 9a7d4e50_8d7e_4c5e_9a93_7948ab47edad|Combo Board (EB083)]]
  
| A component matchin the Matrix EBM008 thermocouple board.  As well as an interface toa standard TypeK thermocouple, this also includes a thermistor that is used for cold junctioncompensation.
+
| A simulated version of the EB083 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 8a853d8e_967b_4317_85d2_070167d41396.png|Image]] [[Component: ID 8a853d8e_967b_4317_85d2_070167d41396|Touch Pads (EBM013)]]
+
|width=30%|[[File:Component Icon 87d8bad5_6392_41fb_b370_d9b2c0f8f13f.png|Image]] [[Component: ID 87d8bad5_6392_41fb_b370_d9b2c0f8f13f|DSP Audio Input (EB085)]]
  
| This board provides two touch areas for use with capacitive sensing. Hence two digital touch switches can be implemented. This component directly interfaces with the EBM013 Sensors board.
+
| 16-bit external ADC connected to the microcontroller using SPI.
  
 
|-
 
|-
|width=30%|[[File:Component Icon ef0c13ae_8a23_459c_947a_f0d2ad5f8bf1.png|Image]] [[Component: ID ef0c13ae_8a23_459c_947a_f0d2ad5f8bf1|Touch Slider (EBM014)]]
+
|width=30%|[[File:Component Icon e83923b3_994a_41c9_b277_5b107ab6e1dd.png|Image]] [[Component: ID e83923b3_994a_41c9_b277_5b107ab6e1dd|DSP Audio Output (EB086)]]
  
| This board provides two touch slide areas for use with capacitive sensing. Therefore,two digital touch slideers can be implemented. This component directly interfaces with the EBM014 Sensors board.
+
| 16-bit external DAC connected to the microcontroller using SPI.
  
 
|-
 
|-
|width=30%|[[File:Component Icon feb064a2_e087_45e1_a7f9_c9fa0edfdace.png|Image]] [[Component: ID feb064a2_e087_45e1_a7f9_c9fa0edfdace|Ultrasonic (EBM019)]]
+
|width=30%|[[File:Component Icon a5320e5b_75c1_4e67_9ed4_e933f40efc9a.png|Image]] [[Component: ID a5320e5b_75c1_4e67_9ed4_e933f40efc9a|E_block Helper]]
  
| This  board  has  both  an  ultrasonic  transmitter  and receiver. The transmitter is driven by an on-board 40KHz oscillator which is enabled by the host microprocessor. The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel ADC of the microprocessor. By measuring the time delay between  enabling  a  transmit  pulse  and receiving  an echo the distance of objects in a range of around 3cm to 3m can be determined.
+
| A purely cosmetic component to help simplify E-block connections without having to keep referring to the datasheets.Specify which E-block your using and the component will give you options for the patch settings and display the connections required.
|}
 
===MIAC Module===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 463bfc0e_2a04_414c_bf85_10718fa2ca08.png|Image]] [[Component: ID 463bfc0e_2a04_414c_bf85_10718fa2ca08|MIAC (Arduino_Compatible) (MIAC (Arduino-Compatible))]]
+
|-
 +
|width=30%|[[File:Component Icon 15d02383_645d_4bbe_8732_a67162cdb90c.png|Image]] [[Component: ID 15d02383_645d_4bbe_8732_a67162cdb90c|GLCD (EB043 v1)]]
  
| MIAC - Matrix Industrial Automotive Controller (Arduino-Compatible)
+
| Graphical display component designed to work with the legacy version 1 EB043 E-blocks.
  
 
|-
 
|-
|width=30%|[[File:Component Icon d69543a8_f38b_488a_b905_9fa2d5970beb.png|Image]] [[Component: ID d69543a8_f38b_488a_b905_9fa2d5970beb|MIAC (PIC)]]
+
|width=30%|[[File:Component Icon c3e842d5_cf5d_4e4e_a406_95067ba26693.png|Image]] [[Component: ID c3e842d5_cf5d_4e4e_a406_95067ba26693|GLCD (EB043 v2)]]
  
| MIAC - Matrix Industrial Automotive ControllerPLC type module based on a PIC18F4455 device, produced by MatrixComponent includes functions to drive the functionality of the MIAC and MIAC system.
+
| Graphical display component designed to work with the legacy version 2 EB043 E-blocks.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 596e6f4d_d87a_4e8b_b108_c0501127c382.png|Image]] [[Component: ID 596e6f4d_d87a_4e8b_b108_c0501127c382|MIAC (dsPIC) (MIAC (dsPIC))]]
+
|width=30%|[[File:Component Icon c4badacf_868a_4744_ad5a_a74fea126d6b.png|Image]] [[Component: ID c4badacf_868a_4744_ad5a_a74fea126d6b|GLCD (EB057 / EB058)]]
  
| MIAC - Matrix Industrial Automotive Controller (dsPIC)
+
| Graphical display component designed to work with the EB057 modules and EB058 E-blocks.
|}
 
===MIAC: Addon Modules===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 184de24b_daf7_457c_95cb_d9b97b939839.png|Image]] [[Component: ID 184de24b_daf7_457c_95cb_d9b97b939839|MIAC (PIC) CAN Slave]]
+
|-
 +
|width=30%|[[File:Component Icon c7ba30ad_1d81_496e_b2ca_e4efb109521b.png|Image]] [[Component: ID c7ba30ad_1d81_496e_b2ca_e4efb109521b|GLCD (EB075)]]
  
| MIAC Slave for MIAC System. Requires Slave firmware program downloaded to a MIAC (PIC) to act as a CAN connected Slave device.
+
| Graphical display component designed to work with the Goldelox range of displays from 4D Systems.Also available in the form of the EB075 GLCD E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon e8461f5f_751e_432e_9fa1_ca725f0001b1.png|Image]] [[Component: ID e8461f5f_751e_432e_9fa1_ca725f0001b1|MIAC Advanced]]
+
|width=30%|[[File:Component Icon cb40c3c2_03fd_4d66_9364_790e72714bcb.png|Image]] [[Component: ID cb40c3c2_03fd_4d66_9364_790e72714bcb|GLCD (EB076 v2)]]
  
| Advanced Addon for MIAC System
+
| Graphical display component designed to work with the Picaso range of displays from 4D Systems.Also available in the form of the EB076 GLCD Touchscreen E-block.Component based around the uLCD-32PTU display.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 8c6ad2c7_f4a7_4584_a376_ec7fed05e5d3.png|Image]] [[Component: ID 8c6ad2c7_f4a7_4584_a376_ec7fed05e5d3|MIAC Basic]]
+
|width=30%|[[File:Component Icon c6586b24_9a1c_4e19_8051_8ae5923c418a.png|Image]] [[Component: ID c6586b24_9a1c_4e19_8051_8ae5923c418a|GLCD (EB076)]]
  
| Basic Addon expansion module for MIAC System
+
| Graphical display component designed to work with the Picaso range of displays from 4D Systems.Also available in the form of the EB076 GLCD Touchscreen E-block.Component based around the uLCD-32PT display.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 6ab6c413_80f6_4db4_9b1d_458412446d4c.png|Image]] [[Component: ID 6ab6c413_80f6_4db4_9b1d_458412446d4c|MIAC Bluetooth]]
+
|width=30%|[[File:Component Icon e871d984_b0e0_4185_8d94_b11d28040996.png|Image]] [[Component: ID e871d984_b0e0_4185_8d94_b11d28040996|Keypad (EB014)]]
  
| Bluetooth Addon for MIAC System
+
| Preset keypad based around the 3 * 4 unit, as used by the Matrix EB014 E-block
  
 
|-
 
|-
|width=30%|[[File:Component Icon bd4a15a6_c326_4762_8573_3e7a6fde7d88.png|Image]] [[Component: ID bd4a15a6_c326_4762_8573_3e7a6fde7d88|MIAC GPS]]
+
|width=30%|[[File:Component Icon d29dda88_17de_4008_991a_c881890d4c57.png|Image]] [[Component: ID d29dda88_17de_4008_991a_c881890d4c57|LCD (EB005)]]
  
| GPS Addon expansion module for MIAC System
+
| LCD based on the unit used in the Matrix EB005 E-block
  
 
|-
 
|-
|width=30%|[[File:Component Icon 018199e8_ef66_49af_bac0_483043d71830.png|Image]] [[Component: ID 018199e8_ef66_49af_bac0_483043d71830|MIAC GSM]]
+
|width=30%|[[File:Component Icon 82c2f7d0_c6ed_4c6e_8ab8_7958b490dc99.png|Image]] [[Component: ID 82c2f7d0_c6ed_4c6e_8ab8_7958b490dc99|LED  (EB004)]]
  
| GSM Addon for MIAC System.
+
| An LED matrix made up of standard PCB mount 5mm LEDs.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 4c1bd3cf_a504_4a05_9ae7_318d6a4f9a07.png|Image]] [[Component: ID 4c1bd3cf_a504_4a05_9ae7_318d6a4f9a07|MIAC Industrial]]
+
|width=30%|[[File:Component Icon 4627d2fb_b41e_44cf_b125_e8511e5ebaa4.png|Image]] [[Component: ID 4627d2fb_b41e_44cf_b125_e8511e5ebaa4|SPI Master (EB013)]]
  
| MIAC Industrial Addon component for MIAC System.Add (WIZ810MJ) TCP/IP or Webserver component to the panel to add functionality.
+
| Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.If the hardware SPI pins are in use or more SPI channels are required then there is also a software mode available.Has additional functions to work with the E-blocks EB013 SPI hardware.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 126523d0_e391_4ccb_86c0_0e9d1b33d5f0.png|Image]] [[Component: ID 126523d0_e391_4ccb_86c0_0e9d1b33d5f0|MIAC Serial]]
+
|width=30%|[[File:Component Icon 4772ea31_c5fb_4ac1_8aef_c9385a0e9a53.png|Image]] [[Component: ID 4772ea31_c5fb_4ac1_8aef_c9385a0e9a53|Switch (EB007)]]
  
| Serial Addon expansion module for MIAC System
+
| An array of up to eight momentary push switches, each connected to a single pin of the specified port.
  
 
|-
 
|-
|width=30%|[[File:Component Icon b5e4faac_ed09_4e4c_a644_09e1e151a405.png|Image]] [[Component: ID b5e4faac_ed09_4e4c_a644_09e1e151a405|MIAC Zigbee Coordinator]]
+
|width=30%|[[File:Component Icon bb483909_20df_4e51_ac45_092ab4adf36a.png|Image]] [[Component: ID bb483909_20df_4e51_ac45_092ab4adf36a|TCPIP (EB023 v1)]]
  
| MIAC Zigbee Coordinator Addon component for MIAC System.Add the Zigbee component to the panel to add functionality.
+
| TCP/IP component designed to work with the WIZ3100 range of modules from Wiznet.Also available in the form of the version 1 EB023 E-block which uses the NM7010A module.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 8dd620e3_3cdb_4d8a_ba3d_cd4dbca0ba34.png|Image]] [[Component: ID 8dd620e3_3cdb_4d8a_ba3d_cd4dbca0ba34|MIAC Zigbee Router]]
+
|width=30%|[[File:Component Icon 35d02098_c871_49c0_b34d_a3f86d764886.png|Image]] [[Component: ID 35d02098_c871_49c0_b34d_a3f86d764886|TCPIP (EB023 v2)]]
 +
 
 +
| TCP/IP component designed to work with the WIZ810MJ module from Wiznet,as used on version 2 EB023 E-block and the MIAC Industrial Addon module.
  
| MIAC Zigbee Router Addon component for MIAC System.Add the Zigbee component to the panel to add functionality.
+
|-
|}
+
|width=30%|[[File:Component Icon cbb357fa_5252_415d_80f5_01e4ab85cb4a.png|Image]] [[Component: ID cbb357fa_5252_415d_80f5_01e4ab85cb4a|Touch Pads (EB088)]]
===Misc Circuit===
+
 
{| class="wikitable" width="85%"
+
| This board provides five touch areas for use with capacitive sensing. Hence five digital touch switches can be implemented. This component directly interfaces with the EB088 CapTouch E-block.
  
|width=30%|[[File:Component Icon b4f41fb0_9335_4a8f_a41d_284a8cfc31b5.png|Image]] [[Component: ID b4f41fb0_9335_4a8f_a41d_284a8cfc31b5|LED Cube]]
+
|-
 +
|width=30%|[[File:Component Icon 4d985181_e4b1_4767_a068_fb31a6d68158.png|Image]] [[Component: ID 4d985181_e4b1_4767_a068_fb31a6d68158|WIFI (EB069 v2)]]
  
| LED Cube component for driving 3D arrays of LEDs. A typical cube could consist of 4x4x4 or 8x8x8 but does not necessarily need to be a cuboid.
+
| Wireless LAN component designed to work with the ESP8266 module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 144a220f_7bc3_4b73_bc56_f9c7203bf204.png|Image]] [[Component: ID 144a220f_7bc3_4b73_bc56_f9c7203bf204|RGB Xmas Tree]]
+
|width=30%|[[File:Component Icon c0a18557_a477_4d5a_b9ca_e0724378d983.png|Image]] [[Component: ID c0a18557_a477_4d5a_b9ca_e0724378d983|Webserver (EB023 v1)]]
  
| Component complete with macros and simultion to drive the MatrixTSL RGB Xmas Tree decoration.
+
| Webserver component designed to work with the NM7010A module from Wiznet,as used in the version 1 EB023 E-block.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
|}
 
===Raspberry Pi Hat===
 
{| class="wikitable" width="85%"
 
  
|width=30%|[[File:Component Icon 165242cb_b40c_416e_a435_1fe7e724c5b8.png|Image]] [[Component: ID 165242cb_b40c_416e_a435_1fe7e724c5b8|Sense Hat]]
+
|-
 +
|width=30%|[[File:Component Icon ee1635e0_3008_4836_89e1_005435f4a33d.png|Image]] [[Component: ID ee1635e0_3008_4836_89e1_005435f4a33d|Webserver (EB023 v2)]]
  
| A component to drive various features on the Raspberry Pi Sense Hat.Supported Features: 8x8 RGB LED / 5-Way Joystick
+
| Webserver component designed to work with the WIZ810MJ module from Wiznet,as used in the version 2 EB023 E-block and MIAC System Industrial Addon.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
 
|}
 
|}
===Robotics===
+
 
 +
===E-blocks 2===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
|width=30%|[[File:Component Icon e3be641a_8808_4138_bee5_805fbbce468c.png|Image]] [[Component: ID e3be641a_8808_4138_bee5_805fbbce468c|Formula AllCode (RB4420)]]
+
|width=30%|[[File:Component Icon 5f9d5a58_6c01_4588_afa0_df4c01ce161a.png|Image]] [[Component: ID 5f9d5a58_6c01_4588_afa0_df4c01ce161a|Bluetooth (BL0170)]]
  
| A component to allow all the features of the Formula AllCode robot to be investigated.Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.  
+
| Low level routines for controlling a Microchip RN4677 Bluetooth Module.Also available in the form of the BL0170 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 9d5300ab_57ae_4483_8f18_04ec2007b406.png|Image]] [[Component: ID 9d5300ab_57ae_4483_8f18_04ec2007b406|Formula Flowcode]]
+
|width=30%|[[File:Component Icon 25db03ef_5393_4fb8_9b34_87a506428296.png|Image]] [[Component: ID 25db03ef_5393_4fb8_9b34_87a506428296|Colour GLCD (BL0157)]]
 +
 
 +
| Graphical display component designed to work with the BL0157 E-block.Based on the ILI9163C 16-bit colour graphical controller IC.
  
| A component to allow all the features of the Formula Flowcode robot to be investigated.Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.
+
|-
|}
+
|width=30%|[[File:Component Icon d4c04ac8_bbcd_4981_8ce6_9d6c9bb1e26a.png|Image]] [[Component: ID d4c04ac8_bbcd_4981_8ce6_9d6c9bb1e26a|Combo (BL0114)]]
  
==Comms==
+
| A component to drive the BL0114 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.  
===Comms: Interface===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon da332928_6342_4c2c_afc7_eaf33917d33e.png|Image]] [[Component: ID da332928_6342_4c2c_afc7_eaf33917d33e|CAN (Internal, MCP2515)]]
 
  
| Routines for controling the CAN interface either using an external MCP2515 IC and a SPI bus connection
 
 
|-
 
|-
|width=30%|[[File:Component Icon eedbc87c_0433_4f67_86c5_a106439fc603.png|Image]] [[Component: ID eedbc87c_0433_4f67_86c5_a106439fc603|FTDI (FTD2XX)]]
+
|width=30%|[[File:Component Icon 7ae74a71_a424_452f_8d71_618cf50cff98.png|Image]] [[Component: ID 7ae74a71_a424_452f_8d71_618cf50cff98|E_block 2 Helper]]
  
| Simulation only interface to allow communications with a FTDI USB 232 IC connected to the system.
+
| A purely cosmetic component to help simplify E-block 2 connections without having to keep referring to the datasheets.Specify which E-block 2 board your using and the component will display the connections required.
|-
 
|width=30%|[[File:Component Icon 24219805_113d_4b12_b6bd_e1b0b0c33981.png|Image]] [[Component: ID 24219805_113d_4b12_b6bd_e1b0b0c33981|I2C Master]]
 
  
| Routines for controlling an I²C Master interface.
 
 
|-
 
|-
|width=30%|[[File:Component Icon eac43fda_0bc5_4b08_881c_6d3e364f2eff.png|Image]] [[Component: ID eac43fda_0bc5_4b08_881c_6d3e364f2eff|I2C Slave]]
+
|width=30%|[[File:Component Icon 4d50e925_93e7_43ff_9c9f_8e958b9d714c.png|Image]] [[Component: ID 4d50e925_93e7_43ff_9c9f_8e958b9d714c|GLCD Monochrome (BL0139)]]
  
| Routines for controlling an I²C Slave interface.
+
| Graphical display component designed to work with the EB2 BL0139 Downstream E-block.
|-
 
|width=30%|[[File:Component Icon 64b26b13_68cf_4a92_8616_e882b7c71023.png|Image]] [[Component: ID 64b26b13_68cf_4a92_8616_e882b7c71023|One Wire]]
 
  
| Routines for controlling or interacting with a standard one wire interface.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 96862c4d_debc_45fa_9433_74711a4b9a3b.png|Image]] [[Component: ID 96862c4d_debc_45fa_9433_74711a4b9a3b|SPI Master]]
+
|width=30%|[[File:Component Icon e565ab5d_bf80_4911_938a_75b226ca6f93.png|Image]] [[Component: ID e565ab5d_bf80_4911_938a_75b226ca6f93|IO Expander (BL0155)]]
  
| Routines for controlling an SPI Master interface.
+
| Provides 16 digital input/output pins arranged into two 8-bit E-block 2 ports using a SPI bus connection.
|-
 
|width=30%|[[File:Component Icon e2955f6c_d724_4ab0_afca_d62093a77248.png|Image]] [[Component: ID e2955f6c_d724_4ab0_afca_d62093a77248|SPI Slave]]
 
  
| Routines for controlling an SPI Slave interface.
 
 
|-
 
|-
|width=30%|[[File:Component Icon c73616d1_7ad0_45d9_aada_69ccfa4c5efc.png|Image]] [[Component: ID c73616d1_7ad0_45d9_aada_69ccfa4c5efc|UART (RS232)]]
+
|width=30%|[[File:Component Icon b904b771_a7bc_47ec_a1ea_9d4c77afccf2.png|Image]] [[Component: ID b904b771_a7bc_47ec_a1ea_9d4c77afccf2|Keypad (BL0138)]]
  
| Routines for controlling or interacting with a standard asynchronous serial interface.
+
| Keypad component to drive the E-blocks 2 BL0138 Keypad board.Provides twelve individual raster scanned switches.
|}
 
  
===Comms: Networking===
+
|-
{| class="wikitable" width="85%"
+
|width=30%|[[File:Component Icon ee697d50_7fb5_4074_8cd6_996e5c386722.png|Image]] [[Component: ID ee697d50_7fb5_4074_8cd6_996e5c386722|LCD (BL0169)]]
|width=30%|[[File:Component Icon a78483e1_b293_47e7_984c_55984fc93571.png|Image]] [[Component: ID a78483e1_b293_47e7_984c_55984fc93571|Base 64]]
+
 
 +
| LCD component to drive the E-blocks 2 BL0169 LCD board.Provides a 4 x 20 character alphanumeric display.
  
| Component to allow base 64 encoding and decoding.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 91049bf5_2436_42dc_947a_c30c86463d98.png|Image]] [[Component: ID 91049bf5_2436_42dc_947a_c30c86463d98|Network Communications]]
+
|width=30%|[[File:Component Icon 103aab27_2ea3_483c_9710_fc3c495288a7.png|Image]] [[Component: ID 103aab27_2ea3_483c_9710_fc3c495288a7|LED (BL0167)]]
 +
 
 +
| LED component to drive the E-blocks 2 BL0167 LED board.Provides eight individually addressable LEDs.
  
| A component designed to simplify the process of TCP/IP communications.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 54369d81_80ed_4d59_97bf_91f4b2cdf24c.png|Image]] [[Component: ID 54369d81_80ed_4d59_97bf_91f4b2cdf24c|TCP Template]]
+
|width=30%|[[File:Component Icon 05b6159b_1572_4c0d_8ddf_705d9741955a.png|Image]] [[Component: ID 05b6159b_1572_4c0d_8ddf_705d9741955a|RFID (BL0197)]]
  
| Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation.
+
| Low level routines for controlling a BL0197 RFID E-block 2 board.Complete with macros to control the tag type and buzzer parameters.
|-
 
|width=30%|[[File:Component Icon 8aab4b54_a912_449c_b11a_7c1a5db8d591.png|Image]] [[Component: ID 8aab4b54_a912_449c_b11a_7c1a5db8d591|TCPIP (ENC28J60)]]
 
  
| A set of routines used to control a ENC28J60 TCP/IP Module.
 
 
|-
 
|-
|width=30%|[[File:Component Icon a1820de1_8cfe_4675_b185_a62ce44e2a6f.png|Image]] [[Component: ID a1820de1_8cfe_4675_b185_a62ce44e2a6f|TCPIP (NM7010A)]]
+
|width=30%|[[File:Component Icon bc8ae960_3887_4d08_ac7c_1eedb8e5f6c8.png|Image]] [[Component: ID bc8ae960_3887_4d08_ac7c_1eedb8e5f6c8|Servo Motor (BL0162)]]
  
| TCP/IP component designed to work with the WIZ3100 range of modules from Wiznet.
+
| Servo motor component to drive the E-blocks 2 BL0162 Servo Motors board.Provides up to eight individually addressable connections for standard DC servo motors to be connected.
|-
 
|width=30%|[[File:Component Icon 0341d84f_f7fd_473c_8076_b38b2d563e13.png|Image]] [[Component: ID 0341d84f_f7fd_473c_8076_b38b2d563e13|TCPIP (Raspberry Pi)]]
 
  
| TCP/IP sockets component for use with Raspberry Pi.
 
 
|-
 
|-
|width=30%|[[File:Component Icon d6db973b_a543_4743_91b5_176f9c6613df.png|Image]] [[Component: ID d6db973b_a543_4743_91b5_176f9c6613df|TCPIP (WIZ810MJ)]]
+
|width=30%|[[File:Component Icon b3a7287a_4070_49d1_9122_bf6169f67cd1.png|Image]] [[Component: ID b3a7287a_4070_49d1_9122_bf6169f67cd1|Switch (BL0145)]]
  
| TCP/IP component designed to work with the WIZ810MJ module from Wiznet,
+
| A set of 8 push switches that can be connected to an E-blocks 2 upstream board via a port connector.Switches are wired in an active high configuration.
|-
 
|width=30%|[[File:Component Icon ff377ede_2c09_4a83_99a0_5e11c7ae16d9.png|Image]] [[Component: ID ff377ede_2c09_4a83_99a0_5e11c7ae16d9|Webserver (NM7010A) (NM7010A)]]
 
  
| Webserver component designed to work with the NM7010A module from Wiznet,
 
 
|-
 
|-
|width=30%|[[File:Component Icon 9e68a715_edc2_4a98_be64_c0d02f700135.png|Image]] [[Component: ID 9e68a715_edc2_4a98_be64_c0d02f700135|Webserver (WIZ810MJ)]]
+
|width=30%|[[File:Component Icon ea9c0946_5f88_4f9a_ae5f_8ba9b981b389.png|Image]] [[Component: ID ea9c0946_5f88_4f9a_ae5f_8ba9b981b389|WIFI (BL0136)]]
  
| Webserver component designed to work with the WIZ810MJ module from Wiznet,
+
| Wireless LAN component designed to work with the ESP-12S module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the BL0136 WIFI E-block.
 
|}
 
|}
===Comms: System===
+
 
 +
===EBM Modules===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
|width=30%|[[File:Component Icon 5aefac05_ee5e_4d51_9f31_05281900a97e.png|Image]] [[Component: ID 5aefac05_ee5e_4d51_9f31_05281900a97e|DALI Master]]
 
  
| A serial based communications protocol designed for controlling lighting, specifically digitally
+
|width=30%|[[File:Component Icon bdb9fcf6_3fb3_4051_8078_455b44cb249c.png|Image]] [[Component: ID bdb9fcf6_3fb3_4051_8078_455b44cb249c|Accel Mag 6_Axis (EBM015)]]
|-
 
|width=30%|[[File:Component Icon c714f39e_c8fb_413f_afda_2d169e655134.png|Image]] [[Component: ID c714f39e_c8fb_413f_afda_2d169e655134|DALI Slave]]
 
  
| A serial based communications protocol designed for controlling lighting, specifically digitally
+
| EBM015 Combined 6-Axis Accelerometer and Magnetometer sensorsUseful for working out data such as Pitch and Yaw.
|-
 
|width=30%|[[File:Component Icon b4e10f9e_4ea9_4fbc_a584_a4d7d4d8fba6.png|Image]] [[Component: ID b4e10f9e_4ea9_4fbc_a584_a4d7d4d8fba6|DMX_512 Master]]
 
  
| A serial based communications protocol designed for controlling theatrical equipment such
 
 
|-
 
|-
|width=30%|[[File:Component Icon 1be0ac44_3521_402e_a8b7_1faf86c09560.png|Image]] [[Component: ID 1be0ac44_3521_402e_a8b7_1faf86c09560|DMX_512 Slave]]
+
|width=30%|[[File:Component Icon 749afd05_ce22_42cb_b17e_3f424cbca6b0.png|Image]] [[Component: ID 749afd05_ce22_42cb_b17e_3f424cbca6b0|Colour Sensor (EBM018)]]
  
| A serial based communications protocol designed for controlling theatrical equipment such
+
| This board provides the ability to detect colours using the TCS3200 sensor. It will return RGB and W values, dependent on the colour of the object under test.  
|-
 
|width=30%|[[File:Component Icon 76bb1b8c_43da_48d3_b53f_a9907f03a528.png|Image]] [[Component: ID 76bb1b8c_43da_48d3_b53f_a9907f03a528|IO Expander (MCP23017)]]
 
  
| Provides 16 digital input/output pins arranged into two 8-bit ports using a I2C bus connection.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 331daac0_653d_4f45_9822_6408a8258bda.png|Image]] [[Component: ID 331daac0_653d_4f45_9822_6408a8258bda|IO Expander (MCP23S17)]]
+
|width=30%|[[File:Component Icon e3fdcca6_1408_4389_8e2d_e741b06b3463.png|Image]] [[Component: ID e3fdcca6_1408_4389_8e2d_e741b06b3463|Digital Temperature (EBM004)]]
  
| Provides 16 digital input/output pins arranged into two 8-bit ports using a SPI bus connection.
+
| A digital temperature sensor based around the LM75B chip.
|-
 
|width=30%|[[File:Component Icon d43a1c1f_8ad6_4271_9f62_20e1bdf529f0.png|Image]] [[Component: ID d43a1c1f_8ad6_4271_9f62_20e1bdf529f0|IO Expander (PCF8574)]]
 
  
| Provides 8 digital input/output pins arranged into an 8-bit port using a I2C bus connection.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 4616b658_531f_4c5e_981a_4d9fc04f9a36.png|Image]] [[Component: ID 4616b658_531f_4c5e_981a_4d9fc04f9a36|IO Expander (PCF8575)]]
+
|width=30%|[[File:Component Icon 245b0876_a350_4546_bb71_b427ff6ec9ef.png|Image]] [[Component: ID 245b0876_a350_4546_bb71_b427ff6ec9ef|Dual Potentiometer _ Trimmer (EBM006)]]
  
| Provides 16 digital input/output pins arranged into 8-bit ports using a I2C bus connection.
+
| This board provides two rotary potentiometers. This component directly interfaces with the EBM006 Dual Trimmers sensors board.
|-
 
|width=30%|[[File:Component Icon a9b43242_9ccc_4f1c_b2d1_acdfbe420fc1.png|Image]] [[Component: ID a9b43242_9ccc_4f1c_b2d1_acdfbe420fc1|MIDI]]
 
  
| Low level routines for controlling or interacting with a standard MIDI interface.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 43861adb_8a59_492d_8f9f_a08775800bc1.png|Image]] [[Component: ID 43861adb_8a59_492d_8f9f_a08775800bc1|MULTIUART (SPI2UART)]]
+
|width=30%|[[File:Component Icon 5a6d2f2e_da92_49b4_ad5c_71f51e8fe24b.png|Image]] [[Component: ID 5a6d2f2e_da92_49b4_ad5c_71f51e8fe24b|GLCD (EBM001)]]
  
| Uses a high speed SPI connection to enable up to four buffered external UARTs via the MULTIUART modules.
+
| Graphical display component designed to work with the EBM001 modules and EB084 E-blocks.Based on the ILI9163C 16-bit colour graphical controller IC.
|-
 
|width=30%|[[File:Component Icon 47f6b39b_ead7_40f5_9931_8a79aa54014a.png|Image]] [[Component: ID 47f6b39b_ead7_40f5_9931_8a79aa54014a|Modbus Master]]
 
  
| Modbus component for talking to Modbus compatible hardware via RS232 or RS485.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 687f8ad4_59f2_4079_bb84_7713dcb57a13.png|Image]] [[Component: ID 687f8ad4_59f2_4079_bb84_7713dcb57a13|Modbus Slave]]
+
|width=30%|[[File:Component Icon 7b1edf74_d0c8_4b1d_a8b3_54580ed79f64.png|Image]] [[Component: ID 7b1edf74_d0c8_4b1d_a8b3_54580ed79f64|Gyroscope (EBM009)]]
  
| Modbus component for creating Modbus compatible slave hardware via RS232 or RS485.
+
| Interface to the L3G4200D three axis digital gyroscope.  Panel GUI can be used to simulateincoming data for testing.
|-
 
|width=30%|[[File:Component Icon 47f6b39b_ead7_40f5_9931_8a79aa54014a.png|Image]] [[Component: ID 019e3dbb_2bfa_44a7_baf0_17b672d9b8f4|Modbus TCP Master]]
 
  
| Modbus component for talking to Modbus compatible hardware via Ethernet or WIFI.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 47f6b39b_ead7_40f5_9931_8a79aa54014a.png|Image]] [[Component: ID 1ecb9b0a_53e7_45c9_ab6f_7a0d4a0c47e1|Modbus TCP Slave]]
+
|width=30%|[[File:Component Icon b42786ab_fd9a_47cf_b3c4_560ecdc613fd.png|Image]] [[Component: ID b42786ab_fd9a_47cf_b3c4_560ecdc613fd|Hall Effect (EBM011)]]
 +
 
 +
| The board has a Hall Effect sensor (SL353) that gives a digital output in the presence of a magnetic field (in the region of 60 Gauss) from a permanent magnet or electromagnet, either North or South pole.
  
| Modbus component for creating Modbus compatible slave hardware via Ethernet or WIFI.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 6436a040_ccc8_46e5_82c1_68f8d87b16c5.png|Image]] [[Component: ID 6436a040_ccc8_46e5_82c1_68f8d87b16c5|Visi (4DSystems)]]
+
|width=30%|[[File:Component Icon 5cb8f1ac_bab2_4740_9a9d_01602a5fb196.png|Image]] [[Component: ID 5cb8f1ac_bab2_4740_9a9d_01602a5fb196|Humidity  (EBM016)]]
  
| A way of interacting with the VISI interface designed by 4D systems.
+
| Humidity and temperature sensor using an SHT21 IC connected via I2C - as used by theMatrix e-block module EBM016.On screen GUI allows temperature and humidity values to be simulated, and will show allI2C communication in a console window.
|}
 
 
 
===Comms: USB===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon 06a0a9b3_dd23_4592_a781_537a31b97c2a.png|Image]] [[Component: ID 06a0a9b3_dd23_4592_a781_537a31b97c2a|USB HID]]
 
  
| Component to create and communicate using a standard HID type USB class.
 
 
|-
 
|-
|width=30%|[[File:Component Icon fdceef06_919a_405b_8d0b_6118cd0e104c.png|Image]] [[Component: ID fdceef06_919a_405b_8d0b_6118cd0e104c|USB MIDI]]
+
|width=30%|[[File:Component Icon a6989ec5_8d9b_4c16_b06f_b55394465946.png|Image]] [[Component: ID a6989ec5_8d9b_4c16_b06f_b55394465946|Infrared (EBM020)]]
  
| Component to create and communicate using a standard MIDI connection.
+
| The Infrared sensor board contains both an IR transmitter and receiver. The transmitter is enabled via a digital control signal and the receiver provides an analogue output. By enabling the transmitter and reading the variable voltage output of the receiver it is possible to measure the distance of a reflecting object in the region of 1cm to 10cm.
|-
 
|width=30%|[[File:Component Icon 3e28ac22_2855_410a_9660_0b0a4731e545.png|Image]] [[Component: ID 3e28ac22_2855_410a_9660_0b0a4731e545|USB Serial]]
 
  
| Component to create and communicate using a standard CDC type COM port.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 26cbc2df_5ef0_47db_ab2f_c2425b14462f.png|Image]] [[Component: ID 26cbc2df_5ef0_47db_ab2f_c2425b14462f|USB Slave]]
+
|width=30%|[[File:Component Icon beb1f845_8f53_4214_9b14_11b7c2bf3ba8.png|Image]] [[Component: ID beb1f845_8f53_4214_9b14_11b7c2bf3ba8|PIR (EBM012)]]
  
| Component to create and communicate using a generic USB communications profile.
+
| This board provides a PIR sensor which is read as a digital input.  
|}
 
===Injectors===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon cc936c18_5d20_42c4_b940_d3c7ea7ca802.png|Image]] [[Component: ID cc936c18_5d20_42c4_b940_d3c7ea7ca802|Data Injector Template]]
 
  
| Data injectors are used as a means to allow comms type components to have a meaningful simulation. Comms data is transferred via the injector component allowing for logging, connection to real world hardware and Flowcode to Flowcode type network communications.
+
|-
|}
+
|width=30%|[[File:Component Icon 9a0503ff_2954_445e_9032_3465a05f8f82.png|Image]] [[Component: ID 9a0503ff_2954_445e_9032_3465a05f8f82|Potentiometer (EBM002)]]
  
==Wireless==
+
| This board consists of a standard shaft rotary potentiometer that provides a linear voltage output ranging between the microcontroller power rails. This can be connected to an Analogue to Digital input of the microcontroller in order to provide a control value.
  
{| class="wikitable" width="85%"
+
|-
|width=30%|[[File:Component Icon cff93310_545b_4948_a8fa_12b119c5f7a7.png|Image]] [[Component: ID cff93310_545b_4948_a8fa_12b119c5f7a7|Bluetooth (EB024, Generic AT)]]
+
|width=30%|[[File:Component Icon 0c8229b3_03ea_415c_824b_a5c9a8394751.png|Image]] [[Component: ID 0c8229b3_03ea_415c_824b_a5c9a8394751|Rotary Encoder (EBM007)]]
  
| Low level routines for controlling a standard AT Bluetooth interface.
+
| Provides a rotary encoder with dual digital outputs that provide rotation and direction information. When connected to two digital inputs of a microcontroller a “digital pot” can be implemented to convert to digital values.
|-
 
|width=30%|[[File:Component Icon a8dbe015_0985_4581_abd5_1cc44f576fab.png|Image]] [[Component: ID a8dbe015_0985_4581_abd5_1cc44f576fab|Bluetooth (HC05 HC06)]]
 
  
| Low level routines for controlling or interacting with a HC05 or HC06 Bluetooth module.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 0c7df3fc_a46f_4712_8cd3_77079978f4fc.png|Image]] [[Component: ID 0c7df3fc_a46f_4712_8cd3_77079978f4fc|Bluetooth (RN4677)]]
+
|width=30%|[[File:Component Icon 2f3dd5e3_b652_4045_9ab9_10d49440e5cd.png|Image]] [[Component: ID 2f3dd5e3_b652_4045_9ab9_10d49440e5cd|Thermistor (EBM003)]]
  
| Low level routines for controlling a Microchip RN4677 Bluetooth Module.
+
| A generic thermistor component that can be used to simulate and create code for anythermistor with a known temperature/resistance curve. Thermistor is connected in a simplepotential divider circuit - thermistor between ADC input and 0V, and a fixed resistor betweenADC and the positive supply. The component is also used with the EBM003 module, in whichcase the extra circuitry is already included.  Default calibration is for the EBM003 module.
|-
 
|width=30%|[[File:Component Icon 76b3eb5c_2d23_4c8d_bde8_505032bc886a.png|Image]] [[Component: ID 76b3eb5c_2d23_4c8d_bde8_505032bc886a|Bluetooth v2 (EB024, Generic AT)]]
 
  
| Low level routines for controlling a standard AT Bluetooth interface.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 575a3a3f_09b8_46be_8069_c4d1894d7e7e.png|Image]] [[Component: ID 575a3a3f_09b8_46be_8069_c4d1894d7e7e|GPS (EB056, Generic NMEA)]]
+
|width=30%|[[File:Component Icon d5c30cea_62de_4a55_9783_9bf9d104e3ec.png|Image]] [[Component: ID d5c30cea_62de_4a55_9783_9bf9d104e3ec|Thermocouple TypeK (EBM008)]]
  
| Component designed to process incoming NMEA style GPS data and convert into meaningful
+
| A component matchin the Matrix EBM008 thermocouple board. As well as an interface toa standard TypeK thermocouple, this also includes a thermistor that is used for cold junctioncompensation.
|-
 
|width=30%|[[File:Component Icon 0d02ccfd_4cda_42b8_91d8_5392f491f9af.png|Image]] [[Component: ID 0d02ccfd_4cda_42b8_91d8_5392f491f9af|GSM (EB066, Generic AT)]]
 
  
| Low level routines for controlling a standard AT GSM / GPRS interface
 
 
|-
 
|-
|width=30%|[[File:Component Icon 2bfc8781_9817_4e0c_89f3_28dac37e9a62.png|Image]] [[Component: ID 2bfc8781_9817_4e0c_89f3_28dac37e9a62|IrDA (EB012, MCP1250, MCP2120)]]
+
|width=30%|[[File:Component Icon 8a853d8e_967b_4317_85d2_070167d41396.png|Image]] [[Component: ID 8a853d8e_967b_4317_85d2_070167d41396|Touch Pads (EBM013)]]
  
| Low level routines for controlling a standard IrDA interface.
+
| This board provides two touch areas for use with capacitive sensing. Hence two digital touch switches can be implemented. This component directly interfaces with the EBM013 Sensors board.
|-
 
|width=30%|[[File:Component Icon 81e90a9f_1594_4b34_8aef_5dd671dddc30.png|Image]] [[Component: ID 81e90a9f_1594_4b34_8aef_5dd671dddc30|RC5 (EB060, Generic 36KHz)]]
 
  
| Low level routines for controlling a standard RC5 IR interface.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 882b6951_9944_48cc_8989_6ebd3d91956f.png|Image]] [[Component: ID 882b6951_9944_48cc_8989_6ebd3d91956f|RF 2.4GHz (nRF24L01)]]
+
|width=30%|[[File:Component Icon ef0c13ae_8a23_459c_947a_f0d2ad5f8bf1.png|Image]] [[Component: ID ef0c13ae_8a23_459c_947a_f0d2ad5f8bf1|Touch Slider (EBM014)]]
  
| A simple RF communications module based on the 2.
+
| This board provides two touch slide areas for use with capacitive sensing. Therefore,two digital touch slideers can be implemented. This component directly interfaces with the EBM014 Sensors board.
|-
 
|width=30%|[[File:Component Icon 45bd9065_b6f7_42be_b96f_28c3df2c0a22.png|Image]] [[Component: ID 45bd9065_b6f7_42be_b96f_28c3df2c0a22|RF ISM (EB063, MRF49XA)]]
 
  
| A simple RF-ISM communications module based on the Microchip Alpha MRF49XA device.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 74423151_1bf4_48b8_8ba8_a70c170ef2de.png|Image]] [[Component: ID 74423151_1bf4_48b8_8ba8_a70c170ef2de|RFID (EB052, RWD_MICODE)]]
+
|width=30%|[[File:Component Icon feb064a2_e087_45e1_a7f9_c9fa0edfdace.png|Image]] [[Component: ID feb064a2_e087_45e1_a7f9_c9fa0edfdace|Ultrasonic (EBM019)]]
  
| Low level routines for controlling a RF Solutions RFID interface
+
| This  board  has  both  an  ultrasonic  transmitter  and receiver. The transmitter is driven by an on-board 40KHz oscillator which is enabled by the host microprocessor. The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel ADC of the microprocessor. By measuring the time delay between  enabling  a  transmit  pulse  and  receiving  an echo the distance of objects in a range of around 3cm to 3m can be determined.
|-
+
|}
|width=30%|[[File:Component Icon 3f8d29a6_40a6_4d5e_a254_190c86d9ebb7.png|Image]] [[Component: ID 3f8d29a6_40a6_4d5e_a254_190c86d9ebb7|RFID (MFRC522)]]
+
===MIAC Module===
 +
{| class="wikitable" width="85%"
  
| Functions designed to work with the MFRC522 contactless reader IC.
+
|width=30%|[[File:Component Icon 463bfc0e_2a04_414c_bf85_10718fa2ca08.png|Image]] [[Component: ID 463bfc0e_2a04_414c_bf85_10718fa2ca08|MIAC (Arduino_Compatible) (MIAC (Arduino-Compatible))]]
|-
 
|width=30%|[[File:Component Icon cd5898bf_3a23_455e_b4e0_cddc1eec1d62.png|Image]] [[Component: ID cd5898bf_3a23_455e_b4e0_cddc1eec1d62|SRF (WirelessThings) (SRF)]]
 
  
| The SRF is designed for wireless transmission and reception of serial data in an easy to use surface mounted module.
+
| MIAC - Matrix Industrial Automotive Controller (Arduino-Compatible)
|-
 
|width=30%|[[File:Component Icon 66990164_3c50_4960_916d_327737a7a093.png|Image]] [[Component: ID 66990164_3c50_4960_916d_327737a7a093|WLAN (ESP-12S)]]
 
 
 
| Wireless LAN component designed to work with the ESP-12S module.
 
  
 
|-
 
|-
|width=30%|[[File:Component Icon e1bb4679_58ef_40dc_8d09_306ada46f7bf.png|Image]] [[Component: ID e1bb4679_58ef_40dc_8d09_306ada46f7bf|WLAN (EB069, ESP8266) (ESP8266)]]
+
|width=30%|[[File:Component Icon d69543a8_f38b_488a_b905_9fa2d5970beb.png|Image]] [[Component: ID d69543a8_f38b_488a_b905_9fa2d5970beb|MIAC (PIC)]]
  
| Wireless LAN component designed to work with the ESP8266 module.
+
| MIAC - Matrix Industrial Automotive ControllerPLC type module based on a PIC18F4455 device, produced by MatrixComponent includes functions to drive the functionality of the MIAC and MIAC system.
|-
 
|width=30%|[[File:Component Icon 0dde7075_368e_404c_9d88_d9c6bec55172.png|Image]] [[Component: ID 0dde7075_368e_404c_9d88_d9c6bec55172|WLAN (EB069, WIZ610wi)]]
 
  
| Wireless LAN component designed to work with the WIZ610wi module from Wiznet.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 53548cbe_cd57_471c_8ac1_3205d0e9da38.png|Image]] [[Component: ID 53548cbe_cd57_471c_8ac1_3205d0e9da38|Zigbee (EB051, XBEE) (XBEE)]]
+
|width=30%|[[File:Component Icon 596e6f4d_d87a_4e8b_b108_c0501127c382.png|Image]] [[Component: ID 596e6f4d_d87a_4e8b_b108_c0501127c382|MIAC (dsPIC) (MIAC (dsPIC))]]
  
| Zigbee component designed to work with the XBEE range of modules from Digi.
+
| MIAC - Matrix Industrial Automotive Controller (dsPIC)
 
|}
 
|}
 +
===MIAC: Addon Modules===
 +
{| class="wikitable" width="85%"
  
==Storage==
+
|width=30%|[[File:Component Icon 184de24b_daf7_457c_95cb_d9b97b939839.png|Image]] [[Component: ID 184de24b_daf7_457c_95cb_d9b97b939839|MIAC (PIC) CAN Slave]]
  
{| class="wikitable" width="85%"
+
| MIAC Slave for MIAC System. Requires Slave firmware program downloaded to a MIAC (PIC) to act as a CAN connected Slave device.
|width=30%|[[File:Component Icon 1911d96c_78dd_414a_b23c_6691fb19f63f.png|Image]] [[Component: ID 1911d96c_78dd_414a_b23c_6691fb19f63f|Auto Version Identifier]]
 
  
| Basic component designed to provide the program with the date and time of the build.
 
 
|-
 
|-
|width=30%|[[File:Component Icon c34f9b8a_a915_4f75_ad0c_87f2ad670a8a.png|Image]] [[Component: ID c34f9b8a_a915_4f75_ad0c_87f2ad670a8a|Circular Buffer]]
+
|width=30%|[[File:Component Icon e8461f5f_751e_432e_9fa1_ca725f0001b1.png|Image]] [[Component: ID e8461f5f_751e_432e_9fa1_ca725f0001b1|MIAC Advanced]]
  
| Circular buffer component allowing easy and efficient first in first out (FIFO) style data byte storage.
+
| Advanced Addon for MIAC System
|-
 
|width=30%|[[File:Component Icon dcbf571f_a6fa_402d_bdd4_be00cca4070f.png|Image]] [[Component: ID dcbf571f_a6fa_402d_bdd4_be00cca4070f|EEPROM]]
 
  
| A means of reading data from and writing data to the EEPROM memory onboard the microcontroller.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 42f3f8ef_ff5b_44e6_9be8_8c43d9ab5b08.png|Image]] [[Component: ID 42f3f8ef_ff5b_44e6_9be8_8c43d9ab5b08|Embed File]]
+
|width=30%|[[File:Component Icon 8c6ad2c7_f4a7_4584_a376_ec7fed05e5d3.png|Image]] [[Component: ID 8c6ad2c7_f4a7_4584_a376_ec7fed05e5d3|MIAC Basic]]
  
| A component to simplify the process of embedding files into ROM.
+
| Basic Addon expansion module for MIAC System
|-
 
|width=30%|[[File:Component Icon 0b61bd39_05a3_46ee_a2a5_da7bffb583c5.png|Image]] [[Component: ID 0b61bd39_05a3_46ee_a2a5_da7bffb583c5|FAT (SD, SDHC)]]
 
  
| FAT component allowing access to read and write files on a SD, SDHC or MMC card.
 
 
|-
 
|-
|width=30%|[[File:Component Icon dfb4d07a_3d70_45d5_83ef_07e3c95d86ab.png|Image]] [[Component: ID dfb4d07a_3d70_45d5_83ef_07e3c95d86ab|Lookup tables]]
+
|width=30%|[[File:Component Icon 6ab6c413_80f6_4db4_9b1d_458412446d4c.png|Image]] [[Component: ID 6ab6c413_80f6_4db4_9b1d_458412446d4c|MIAC Bluetooth]]
  
| A lookup-table component allowing an easy way to place arrays of static data into ROM memory.
+
| Bluetooth Addon for MIAC System
|-
 
|width=30%|[[File:Component Icon c48dfdeb_1177_4381_86dd_d7a98fefeb7a.png|Image]] [[Component: ID c48dfdeb_1177_4381_86dd_d7a98fefeb7a|RTC (MCP7940N)]]
 
  
| Serial (I2C) Real Time Clock component for MCP7940N device.
 
 
|-
 
|-
|width=30%|[[File:Component Icon f0e01201_8951_4748_87c3_d1f8423bb6e4.png|Image]] [[Component: ID f0e01201_8951_4748_87c3_d1f8423bb6e4|Real Time Clock (RTC)]]
+
|width=30%|[[File:Component Icon bd4a15a6_c326_4762_8573_3e7a6fde7d88.png|Image]] [[Component: ID bd4a15a6_c326_4762_8573_3e7a6fde7d88|MIAC GPS]]
 +
 
 +
| GPS Addon expansion module for MIAC System
  
| A Real Time Clock component allowing things like clocks and timers to easily be created.
 
 
|-
 
|-
|width=30%|[[File:Component Icon fdb712e0_3861_4e64_9c68_67eade64b089.png|Image]] [[Component: ID fdb712e0_3861_4e64_9c68_67eade64b089|Serial EEPROM (24C16)]]
+
|width=30%|[[File:Component Icon 018199e8_ef66_49af_bac0_483043d71830.png|Image]] [[Component: ID 018199e8_ef66_49af_bac0_483043d71830|MIAC GSM]]
 +
 
 +
| GSM Addon for MIAC System.
  
| Serial (I2C) EEPROM component for 24C01 to 24C16
 
 
|-
 
|-
|width=30%|[[File:Component Icon 35934f36_5cda_49e7_b1a0_05c85722d858.png|Image]] [[Component: ID 35934f36_5cda_49e7_b1a0_05c85722d858|Serial EEPROM (24C32)]]
+
|width=30%|[[File:Component Icon 4c1bd3cf_a504_4a05_9ae7_318d6a4f9a07.png|Image]] [[Component: ID 4c1bd3cf_a504_4a05_9ae7_318d6a4f9a07|MIAC Industrial]]
 +
 
 +
| MIAC Industrial Addon component for MIAC System.Add (WIZ810MJ) TCP/IP or Webserver component to the panel to add functionality.
  
| Serial (I2C) EEPROM component for 24C32
 
 
|-
 
|-
|width=30%|[[File:Component Icon 306b3759_a92f_4779_b15f_93a9e35a75bf.png|Image]] [[Component: ID 306b3759_a92f_4779_b15f_93a9e35a75bf|String Translator]]
+
|width=30%|[[File:Component Icon 126523d0_e391_4ccb_86c0_0e9d1b33d5f0.png|Image]] [[Component: ID 126523d0_e391_4ccb_86c0_0e9d1b33d5f0|MIAC Serial]]
 +
 
 +
| Serial Addon expansion module for MIAC System
  
| A simple component to allow multiple language support by substituting different strings depending
 
 
|-
 
|-
|width=30%|[[File:Component Icon 24ad2718_c70b_4088_aeda_3949dfdba740.png|Image]] [[Component: ID 24ad2718_c70b_4088_aeda_3949dfdba740|Timer]]
+
|width=30%|[[File:Component Icon b5e4faac_ed09_4e4c_a644_09e1e151a405.png|Image]] [[Component: ID b5e4faac_ed09_4e4c_a644_09e1e151a405|MIAC Zigbee Coordinator]]
 +
 
 +
| MIAC Zigbee Coordinator Addon component for MIAC System.Add the Zigbee component to the panel to add functionality.
  
| Allows you to measure the passage of time via the use of a hardware timer peripheral.
 
 
|-
 
|-
|width=30%|[[File:Component Icon eaee384d_6b16_4988_b1aa_8628231a7128.png|Image]] [[Component: ID eaee384d_6b16_4988_b1aa_8628231a7128|WAV Library FAT]]
+
|width=30%|[[File:Component Icon 8dd620e3_3cdb_4d8a_ba3d_cd4dbca0ba34.png|Image]] [[Component: ID 8dd620e3_3cdb_4d8a_ba3d_cd4dbca0ba34|MIAC Zigbee Router]]
  
| Contains component macros to allow playback and recording of WAV files via an SD card.
+
| MIAC Zigbee Router Addon component for MIAC System.Add the Zigbee component to the panel to add functionality.
 
|}
 
|}
 +
===Misc Circuit===
 +
{| class="wikitable" width="85%"
  
==Mechatronics==
+
|width=30%|[[File:Component Icon b4f41fb0_9335_4a8f_a41d_284a8cfc31b5.png|Image]] [[Component: ID b4f41fb0_9335_4a8f_a41d_284a8cfc31b5|LED Cube]]
  
{| class="wikitable" width="85%"
+
| LED Cube component for driving 3D arrays of LEDs. A typical cube could consist of 4x4x4 or 8x8x8 but does not necessarily need to be a cuboid.
|width=30%|[[File:Component Icon 62b6ca37_eb0a_4b5f_b2e1_9a732c4e05ce.png|Image]] [[Component: ID 62b6ca37_eb0a_4b5f_b2e1_9a732c4e05ce|3D Printer]]
 
  
| A simulation only version of a very basic 3D printer such as a standard RepRap.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 83c10dbf_a8d2_42d0_8be5_60adbe2d49b1.png|Image]] [[Component: ID 83c10dbf_a8d2_42d0_8be5_60adbe2d49b1|AllCode Robot Arm]]
+
|width=30%|[[File:Component Icon 144a220f_7bc3_4b73_bc56_f9c7203bf204.png|Image]] [[Component: ID 144a220f_7bc3_4b73_bc56_f9c7203bf204|RGB Xmas Tree]]
 +
 
 +
| Component complete with macros and simultion to drive the MatrixTSL RGB Xmas Tree decoration.
 +
|}
 +
===Raspberry Pi Hat===
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon 165242cb_b40c_416e_a435_1fe7e724c5b8.png|Image]] [[Component: ID 165242cb_b40c_416e_a435_1fe7e724c5b8|Sense Hat]]
 +
 
 +
| A component to drive various features on the Raspberry Pi Sense Hat.Supported Features: 8x8 RGB LED / 5-Way Joystick
 +
|}
 +
===Robotics===
 +
{| class="wikitable" width="85%"
  
| Matrix 5-axis Robot Arm with Gripper.
 
|-
 
 
|width=30%|[[File:Component Icon e3be641a_8808_4138_bee5_805fbbce468c.png|Image]] [[Component: ID e3be641a_8808_4138_bee5_805fbbce468c|Formula AllCode (RB4420)]]
 
|width=30%|[[File:Component Icon e3be641a_8808_4138_bee5_805fbbce468c.png|Image]] [[Component: ID e3be641a_8808_4138_bee5_805fbbce468c|Formula AllCode (RB4420)]]
  
| A component to allow all the features of the Formula AllCode robot to be investigated.
+
| A component to allow all the features of the Formula AllCode robot to be investigated.Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.  
|-
 
|width=30%|[[File:Component Icon 4182ece3_6ad5_41d3_a0e2_31bc570806db.png|Image]] [[Component: ID 4182ece3_6ad5_41d3_a0e2_31bc570806db|Formula AllCode API]]
 
  
| A simulation only component to allow the Formula AllCode robot to be controlled via it's
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon 9d5300ab_57ae_4483_8f18_04ec2007b406.png|Image]] [[Component: ID 9d5300ab_57ae_4483_8f18_04ec2007b406|Formula Flowcode]]
 
|width=30%|[[File:Component Icon 9d5300ab_57ae_4483_8f18_04ec2007b406.png|Image]] [[Component: ID 9d5300ab_57ae_4483_8f18_04ec2007b406|Formula Flowcode]]
  
| A component to allow all the features of the Formula Flowcode robot to be investigated.
+
| A component to allow all the features of the Formula Flowcode robot to be investigated.Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.
 +
|}
 +
 
 +
==API==
 +
===API Slave Devices===
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon c7edc169_d417_46ec_ad9b_983ee0326e29.png|Image]] [[Component: ID c7edc169_d417_46ec_ad9b_983ee0326e29|API (Arduino Mega)]]
 +
 
 +
| Connects to an Arduino Mega running the SCADA Arduino Mega Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / UART / PWM
 +
 
 
|-
 
|-
|width=30%|[[File:Component Icon 952471c7_11ca_430b_ab72_4fda8b195f83.png|Image]] [[Component: ID 952471c7_11ca_430b_ab72_4fda8b195f83|Motor Template]]
+
|width=30%|[[File:Component Icon 2b53c2f2_b5d4_4e36_a647_6f9238744a75.png|Image]] [[Component: ID 2b53c2f2_b5d4_4e36_a647_6f9238744a75|API (Arduino Uno)]]
 +
 
 +
| Connects to an Arduino Uno running the SCADA Arduino Uno Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM
  
| Base component for constructing continuous motion - e.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 9202a62e_0a42_4780_adce_16b701e5ec53.png|Image]] [[Component: ID 9202a62e_0a42_4780_adce_16b701e5ec53|Servo Controller]]
+
|width=30%|[[File:Component Icon 556754b4_bed5_4bcd_88dd_fb13f92020d6.png|Image]] [[Component: ID 556754b4_bed5_4bcd_88dd_fb13f92020d6|API (BL0032)]]
 +
 
 +
| Connects to an BL0032 running the SCADA BL0032 Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / UART / PWM
  
| Can control up to eight standard PWM driven servo's.
 
 
|-
 
|-
|width=30%|[[File:Component Icon fbad3c39_8c38_49b7_a860_ae37e9b979a2.png|Image]] [[Component: ID fbad3c39_8c38_49b7_a860_ae37e9b979a2|Servo Motor Template]]
+
|width=30%|[[File:Component Icon c9197106_edf6_4dcc_9654_ea56ad26f370.png|Image]] [[Component: ID c9197106_edf6_4dcc_9654_ea56ad26f370|API (ECIO28P)]]
 +
 
 +
| Connects to an ECIO28P running the SCADA ECIO28P Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART
  
| Base component for creating custom servo motor simulations.
 
 
|-
 
|-
|width=30%|[[File:Component Icon eb1db17a_1c6c_44ef_84d0_d718549343c4.png|Image]] [[Component: ID eb1db17a_1c6c_44ef_84d0_d718549343c4|Solenoid Template]]
+
|width=30%|[[File:Component Icon 40d5f2e2_3fb5_479a_91e1_f8ec3aae9e3a.png|Image]] [[Component: ID 40d5f2e2_3fb5_479a_91e1_f8ec3aae9e3a|API (ECIO40P)]]
 +
 
 +
| Connects to an ECIO40P running the SCADA ECIO40P Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART
  
| Base component for constructing solenoids.
 
 
|-
 
|-
|width=30%|[[File:Component Icon faf668b1_a0e6_426f_b1ef_9d4f8e54d784.png|Image]] [[Component: ID faf668b1_a0e6_426f_b1ef_9d4f8e54d784|Stepper Motor Template]]
+
|width=30%|[[File:Component Icon e52b2356_d8b7_458b_8583_71f208bfd572.png|Image]] [[Component: ID e52b2356_d8b7_458b_8583_71f208bfd572|API (ESP32)]]
  
| Enables the creation of a stepper motor component by specifying objects for its appearance.
+
| Connects to a ESP32 running the SCADA RPI Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART
|}
 
  
==Shield==
+
|-
===Raspberry Pi===
+
|width=30%|[[File:Component Icon ed171d42_05fd_4946_9bf1_e59a9c98c5b8.png|Image]] [[Component: ID ed171d42_05fd_4946_9bf1_e59a9c98c5b8|API (Interface Board)]]
{| class="wikitable" width="85%"
+
 
|width=30%|[[File:Component Icon 165242cb_b40c_416e_a435_1fe7e724c5b8.png|Image]] [[Component: ID 165242cb_b40c_416e_a435_1fe7e724c5b8|Sense Hat]]
+
| Connects to a Embeddded Interface Board running the SCADA Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART / DAC / Servo.
 +
See Instructables for open source project files.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon ec492589_4787_4b79_96df_718f9a2b46f1.png|Image]] [[Component: ID ec492589_4787_4b79_96df_718f9a2b46f1|API (RPI)]]
 +
 
 +
| Connects to a Raspberry Pi running the SCADA RPI Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / I2C / SPI / PWM / UART
  
| A component to drive various features on the Raspberry Pi Sense Hat. Supported Features: 8x8 RGB LED / 5-Way Joystick.
 
 
|}
 
|}
  
==MIAC==
+
===AllCode===
===MIAC Module===
 
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
|width=30%|[[File:Component Icon 463bfc0e_2a04_414c_bf85_10718fa2ca08.png|Image]] [[Component: ID 463bfc0e_2a04_414c_bf85_10718fa2ca08|MIAC (Arduino_Compatible) (MIAC (Arduino-Compatible))]]
 
  
| MIAC - Matrix Industrial Automotive Controller (Arduino-Compatible)
+
|width=30%|[[File:Component Icon bd23228f_b173_4135_ab3b_a4c3c4caa7a8.png|Image]] [[Component: ID bd23228f_b173_4135_ab3b_a4c3c4caa7a8|Control]]
 +
 
 +
| Drives the Matrix Control hardware via the AllCode API.
 +
 
 
|-
 
|-
|width=30%|[[File:Component Icon d69543a8_f38b_488a_b905_9fa2d5970beb.png|Image]] [[Component: ID d69543a8_f38b_488a_b905_9fa2d5970beb|MIAC (PIC)]]
+
|width=30%|[[File:Component Icon c3e5eb13_e03d_4ca6_be4d_1c63ad107a35.png|Image]] [[Component: ID c3e5eb13_e03d_4ca6_be4d_1c63ad107a35|Electrical Machines]]
 +
 
 +
| A set of functions to communicate with the Matrix EM hardware. Allows the functions to be easily standardised across all SCADA programs.
  
| MIAC - Matrix Industrial Automotive Controller
 
 
|-
 
|-
|width=30%|[[File:Component Icon 596e6f4d_d87a_4e8b_b108_c0501127c382.png|Image]] [[Component: ID 596e6f4d_d87a_4e8b_b108_c0501127c382|MIAC (dsPIC) (MIAC (dsPIC))]]
+
|width=30%|[[File:Component Icon 4182ece3_6ad5_41d3_a0e2_31bc570806db.png|Image]] [[Component: ID 4182ece3_6ad5_41d3_a0e2_31bc570806db|Formula AllCode API]]
  
| MIAC - Matrix Industrial Automotive Controller (dsPIC)
+
| A simulation only component to allow the Formula AllCode robot to be controlled via it's API interface and Bluetooth data connection without having to compile or re-program the robot.
|}
 
===MIAC: Addon Modules===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon 184de24b_daf7_457c_95cb_d9b97b939839.png|Image]] [[Component: ID 184de24b_daf7_457c_95cb_d9b97b939839|MIAC (PIC) CAN Slave]]
 
  
| MIAC Slave for MIAC System.
 
 
|-
 
|-
|width=30%|[[File:Component Icon e8461f5f_751e_432e_9fa1_ca725f0001b1.png|Image]] [[Component: ID e8461f5f_751e_432e_9fa1_ca725f0001b1|MIAC Advanced]]
+
|width=30%|[[File:Component Icon 482486a9_7207_4b46_9e63_5c459534ab19.png|Image]] [[Component: ID 482486a9_7207_4b46_9e63_5c459534ab19|MIAC AllCode API (dsPIC)]]
 +
 
 +
| MIAC AllCode.dsPIC version of the MIAC loaded with the AllCode firmware.Usefull for SCADA, Control or Test applications.Allows you to control the MIAC using the programming language of choice.Compatible with simulation / Bluetooth / Wifi / RS232 and RS485
  
| Advanced Addon for MIAC System
 
 
|-
 
|-
|width=30%|[[File:Component Icon 8c6ad2c7_f4a7_4584_a376_ec7fed05e5d3.png|Image]] [[Component: ID 8c6ad2c7_f4a7_4584_a376_ec7fed05e5d3|MIAC Basic]]
+
|width=30%|[[File:Component Icon eabeda20_432c_4554_80b3_5851d675a9e7.png|Image]] [[Component: ID eabeda20_432c_4554_80b3_5851d675a9e7|MIAC USB Slave API (PIC)]]
 +
 
 +
| Allows Matrix's MIAC PLC  to be used as a PC peripheral controlled by Flowcode via a USBconnection. Requires that the MIAC (PIC) has the USB Slave firmware downloaded to it.
  
| Basic Addon expansion module for MIAC System
 
 
|-
 
|-
|width=30%|[[File:Component Icon 6ab6c413_80f6_4db4_9b1d_458412446d4c.png|Image]] [[Component: ID 6ab6c413_80f6_4db4_9b1d_458412446d4c|MIAC Bluetooth]]
+
|width=30%|[[File:Component Icon 83c10dbf_a8d2_42d0_8be5_60adbe2d49b1.png|Image]] [[Component: ID 83c10dbf_a8d2_42d0_8be5_60adbe2d49b1|Robot Arm AllCode API]]
 +
 
 +
| Matrix 5-axis Robot Arm with Gripper.Compatible with the Matrix Robot ARM Training Curriculum and Hardware.Features gripper pressure sensor, light sensor, colour sensor, Potentiometer, Magnetic sensor.
  
| Bluetooth Addon for MIAC System
 
 
|-
 
|-
|width=30%|[[File:Component Icon bd4a15a6_c326_4762_8573_3e7a6fde7d88.png|Image]] [[Component: ID bd4a15a6_c326_4762_8573_3e7a6fde7d88|MIAC GPS]]
+
|width=30%|[[File:Component Icon 76e989d0_a2ed_457f_a293_3025b804f433.png|Image]] [[Component: ID 76e989d0_a2ed_457f_a293_3025b804f433|Robot Arm v2]]
  
| GPS Addon expansion module for MIAC System
+
| Drives the Matrix Robot Arm v2 hardware via the AllCode API.Allows connections via USB, Bluetooth and WIFI.
 +
|}
 +
 
 +
===Comms Data Injectors===
 +
{| class="wikitable" width="85%"
 +
|-
 +
|[[File:Component Icon 5a237757_52e5_414b_b6e4_79c7b784c3ba.png|Image]] [[Component: ID 5a237757_52e5_414b_b6e4_79c7b784c3ba|Injector (AT)]]
 +
|Comms data injector to replicate basic AT command syntax.
 +
The component will record each incoming character until the termination character is received.
 +
Once this happens the component will respond by echoing back the received data followed by an "OK"  reply.
 +
|-
 +
|[[File:Component Icon 002be1ac_efff_4c07_95de_1eab087cb25e.png|Image]] [[Component: ID 002be1ac_efff_4c07_95de_1eab087cb25e|Injector (COM)]]
 +
|Comms data injector to allow a COM port peripheral to be attached to a comms component.
 +
The component will forward any outgoing bytes to the COM port and forward any incoming bytes to the comms component.
 +
Useful for controlling hardware such as Bluetooth, RS232, USB to Serial, MODBUS...
 +
|-
 +
|[[File:Component Icon 50738af3_82a5_4074_a9b8_9f8f80be2b87.png|Image]] [[Component: ID 50738af3_82a5_4074_a9b8_9f8f80be2b87|Injector (File)]]
 +
|Comms data injector to allow data to be streamed to and from a file during simulation.
 +
The component will read data from the incoming file and write data to the outgoing file.
 
|-
 
|-
|width=30%|[[File:Component Icon 018199e8_ef66_49af_bac0_483043d71830.png|Image]] [[Component: ID 018199e8_ef66_49af_bac0_483043d71830|MIAC GSM]]
+
|[[File:Component Icon 2ed54982_ef92_4509_a67c_7b3a72f91279.png|Image]] [[Component: ID 2ed54982_ef92_4509_a67c_7b3a72f91279|Injector (Human Interface)]]
 
+
|Comms data injector to allow typed data values to be inserted into a component.
| GSM Addon for MIAC System.
+
Allows data to be input in raw ASCII form or as numeric byte data 0-255.
 
|-
 
|-
|width=30%|[[File:Component Icon 4c1bd3cf_a504_4a05_9ae7_318d6a4f9a07.png|Image]] [[Component: ID 4c1bd3cf_a504_4a05_9ae7_318d6a4f9a07|MIAC Industrial]]
+
|[[File:Component Icon 927d2882_ab2f_43e9_8690_d1d6891001ee.png|Image]] [[Component: ID 927d2882_ab2f_43e9_8690_d1d6891001ee|Injector (SCADA Slave Analog Input)]]
 
+
|Data injector to allow a physical analog input pin to be attached to a simulated component.
| MIAC Industrial Addon component for MIAC System.
+
The component will poll for any input state changes via SCADA Slave enabled hardware.
 +
Enabling the Flowcode simulation runtime to directly interface with a physical I/O pin.
 
|-
 
|-
|width=30%|[[File:Component Icon 126523d0_e391_4ccb_86c0_0e9d1b33d5f0.png|Image]] [[Component: ID 126523d0_e391_4ccb_86c0_0e9d1b33d5f0|MIAC Serial]]
+
|[[File:Component Icon dbc62603_09e5_4a5e_8df3_22b921d9e9e9.png|Image]] [[Component: ID dbc62603_09e5_4a5e_8df3_22b921d9e9e9|Injector (SCADA Slave Digital Input)]]
 
+
|Data injector to allow a physical digital input pin to be attached to a simulated component.
| Serial Addon expansion module for MIAC System
+
The component will poll for any input state changes via SCADA Slave enabled hardware.
 +
Enabling the Flowcode simulation runtime to directly interface with a physical I/O pin.
 
|-
 
|-
|width=30%|[[File:Component Icon b5e4faac_ed09_4e4c_a644_09e1e151a405.png|Image]] [[Component: ID b5e4faac_ed09_4e4c_a644_09e1e151a405|MIAC Zigbee Coordinator]]
+
|[[File:Component Icon 916e4f8c_ea50_4d16_bcbb_60492d600217.png|Image]] [[Component: ID 916e4f8c_ea50_4d16_bcbb_60492d600217|Injector (SCADA Slave Digital Output)]]
 
+
|Data injector to allow a physical digital output pin to be attached to a simulated component.
| MIAC Zigbee Coordinator Addon component for MIAC System.
+
The component will forward any output state changes through to a SCADA Slave enabled hardware.
 +
Enabling the Flowcode simulation runtime to directly interface with a physical I/O pin.
 
|-
 
|-
|width=30%|[[File:Component Icon 8dd620e3_3cdb_4d8a_ba3d_cd4dbca0ba34.png|Image]] [[Component: ID 8dd620e3_3cdb_4d8a_ba3d_cd4dbca0ba34|MIAC Zigbee Router]]
+
|[[File:Component Icon b81ab4d7_be8f_4ddd_b5dc_937bda03dc82.png|Image]] [[Component: ID b81ab4d7_be8f_4ddd_b5dc_937bda03dc82|Injector (Flowcode vNet)]]
 +
|Comms data injector to allow components to talk to each other between instances of Flowcode.
 +
The injector allows the data to be sent and received between multiple instances of Flowcode
 +
either running on a single machine, across a network or via the internet.
 +
|}
  
| MIAC Zigbee Router Addon component for MIAC System.
+
===Third Party===
|}
 
===MIAC: PC Peripheral===
 
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
|width=30%|[[File:Component Icon eabeda20_432c_4554_80b3_5851d675a9e7.png|Image]] [[Component: ID eabeda20_432c_4554_80b3_5851d675a9e7|MIAC (PIC) USB Slave]]
 
  
| Allows Matrix's MIAC PLC  to be used as a PC peripheral controlled by Flowcode via a USB
+
|width=30%|[[File:Component Icon eedbc87c_0433_4f67_86c5_a106439fc603.png|Image]] [[Component: ID eedbc87c_0433_4f67_86c5_a106439fc603|FTDI (FTD2XX)]]
 +
 
 +
| Simulation only interface to allow communications with a FTDI USB 232 IC connected to the system.For more details refer to the D2XX_Programmers_Guide from FTDI.
 +
 
 
|-
 
|-
|width=30%|[[File:Component Icon 482486a9_7207_4b46_9e63_5c459534ab19.png|Image]] [[Component: ID 482486a9_7207_4b46_9e63_5c459534ab19|MIAC AllCode]]
+
|width=30%|[[File:Component Icon 563f8662_1205_4508_9e07_0b54471683f3.png|Image]] [[Component: ID 563f8662_1205_4508_9e07_0b54471683f3|K8055D]]
  
| MIAC AllCode.
+
| Support for the Velleman K8055 USB input/output board.Allows Flowcode to communicate with up to four K8055 boards, or to simulate them withinteractive on-screen controls.  All digital and analog I/O functions are supported.
|}
 
  
==DSP==
+
|-
 +
|width=30%|[[File:Component Icon 66309a73_20da_4f2f_bb92_c4749cfad84c.png|Image]] [[Component: ID 66309a73_20da_4f2f_bb92_c4749cfad84c|PicoScope (PS2000)]]
  
{| class="wikitable" width="85%"
+
| A set of functions designed for interacting with a 2000 series Pico scope via simulation.
|width=30%|[[File:Component Icon e6dd1315_4acf_4fb5_abd9_5743d3715cbe.png|Image]] [[Component: ID e6dd1315_4acf_4fb5_abd9_5743d3715cbe|Control]]
 
  
| Allows for several types of control operations to be performed on a buffer.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 917f243e_4102_4bee_9998_81f18bc6ca9d.png|Image]] [[Component: ID 917f243e_4102_4bee_9998_81f18bc6ca9d|DSP System]]
+
|width=30%|[[File:Component Icon 8c08bf29_be7e_4408_92bc_91c476fb70db.png|Image]] [[Component: ID 8c08bf29_be7e_4408_92bc_91c476fb70db|TTI Power Supply _ PL155_P (TTI PL155-P PSU)]]
  
| DSP System main buffer manager responsible for allocating memory, taking care of buffer indexes ...
+
| TTI PL155-P Power Supply Unit Component. 15V - 5A
|-
 
|width=30%|[[File:Component Icon e0ddc704_6bab_4d08_8f10_19a14c6683ef.png|Image]] [[Component: ID e0ddc704_6bab_4d08_8f10_19a14c6683ef|Delay]]
 
  
| Allows an adjustable delay to be inserted into the DSP system
 
 
|-
 
|-
|width=30%|[[File:Component Icon f804a7bd_0280_4ff7_ab75_63be77fb2af3.png|Image]] [[Component: ID f804a7bd_0280_4ff7_ab75_63be77fb2af3|Fast Fourier Transform (FFT)]]
+
|width=30%|[[File:Component Icon 3c01caaa_b732_49a0_b15e_7c9d98878b19.png|Image]] [[Component: ID 3c01caaa_b732_49a0_b15e_7c9d98878b19|TTI TG5011 Signal Generator (TG5011)]]
 +
 
 +
| TTi TG5011 50 MHz Signal Generator
 +
|}
 +
 
 +
==Runtime==
 +
===Controls===
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon a11aa47b_7c82_4dad_b62d_b1a263e2a4fe.png|Image]] [[Component: ID a11aa47b_7c82_4dad_b62d_b1a263e2a4fe|Circular Knob]]
 +
 
 +
| A circular 2d knob component.
  
| Provides a way of converting a buffer full of time domain data into frequency domain data.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 317efb6a_2bad_4f83_a0bc_4ada0f4cd51e.png|Image]] [[Component: ID 317efb6a_2bad_4f83_a0bc_4ada0f4cd51e|Filter]]
+
|width=30%|[[File:Component Icon 1f50402b_cc0b_468c_a329_5108c448e263.png|Image]] [[Component: ID 1f50402b_cc0b_468c_a329_5108c448e263|Control Knob]]
 +
 
 +
| Rotary control designed for SCADA.Has customisable value markings around the control.Simulation only.
  
| Filter component to allow basic filtering to be performed
 
 
|-
 
|-
|width=30%|[[File:Component Icon cbe42abc_5955_44da_a6d0_03e7cbcdcaca.png|Image]] [[Component: ID cbe42abc_5955_44da_a6d0_03e7cbcdcaca|Frequency Generator]]
+
|width=30%|[[File:Component Icon b50d5c0a_2340_4f67_b276_7bc0235de8a3.png|Image]] [[Component: ID b50d5c0a_2340_4f67_b276_7bc0235de8a3|Image Switch]]
 +
 
 +
| A simple simulation only switch capable of displaying an image and with a coloured border to make it easy to tell when the switch is being clicked.
  
| A frequency generator component designed to plug into the DSP system component and allow several...
 
 
|-
 
|-
|width=30%|[[File:Component Icon c73d493a_b6a0_4dbe_b4b5_79648f67d11e.png|Image]] [[Component: ID c73d493a_b6a0_4dbe_b4b5_79648f67d11e|Input]]
+
|width=30%|[[File:Component Icon 29e63c23_636f_4f9a_b691_ba1a717e3503.png|Image]] [[Component: ID 29e63c23_636f_4f9a_b691_ba1a717e3503|Joystick]]
 +
 
 +
| A simple joystick component allowing for easy mouse or touchscreen based analogue control.
  
| Allows the values from a buffer to be assigned.
 
 
|-
 
|-
|width=30%|[[File:Component Icon e648c3de_ec39_4a3f_bbd9_46e45cce4a63.png|Image]] [[Component: ID e648c3de_ec39_4a3f_bbd9_46e45cce4a63|Level]]
+
|width=30%|[[File:Component Icon b6909b43_7bfb_433f_8fdb_3b7d457ea73d.png|Image]] [[Component: ID b6909b43_7bfb_433f_8fdb_3b7d457ea73d|LinearSlider]]
 +
 
 +
| A linear 2d slider component.
  
| Allows for detection and collection of peaks, troughs and averages.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 1392d5c3_35ba_4c7f_a539_7f30a09758e4.png|Image]] [[Component: ID 1392d5c3_35ba_4c7f_a539_7f30a09758e4|Output]]
+
|width=30%|[[File:Component Icon 3bdcb2e0_ed44_451f_9889_66f316359482.png|Image]] [[Component: ID 3bdcb2e0_ed44_451f_9889_66f316359482|Simulation Switch Template]]
  
| Allows the values from a buffer to be read.
+
| A base for building switches that do not download to chip.Mouse interaction can send 'System.User' events with the following data...ID = The handle of the switch component sending the messageMessage = 1 (on) or 0 (off)Current state can also be read via simulation macros.
|-
 
|width=30%|[[File:Component Icon f1af5256_1dee_491c_b43f_fdc8f33279fb.png|Image]] [[Component: ID f1af5256_1dee_491c_b43f_fdc8f33279fb|Scale]]
 
  
| Allows the values in a single buffer to be scaled uniformly.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 82872714_f0f0_4758_91ec_bd39d2cdddc8.png|Image]] [[Component: ID 82872714_f0f0_4758_91ec_bd39d2cdddc8|Sum]]
+
|width=30%|[[File:Component Icon 4b8ae722_573a_473d_8455_a2e6edad1f36.png|Image]] [[Component: ID 4b8ae722_573a_473d_8455_a2e6edad1f36|Switch]]
  
| Component to combine together two DSP buffers into one an index at a time.
+
| A 2d switch component.
 
|}
 
|}
  
==SCADA==
+
===Indicators===
===Controls===
 
 
 
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
|width=30%|[[File:Component Icon 1f50402b_cc0b_468c_a329_5108c448e263.png|Image]] [[Component: ID 1f50402b_cc0b_468c_a329_5108c448e263|Control Knob]]
+
|width=30%|[[File:Component Icon 995fa4f2_71ce_4d91_aa62_87f731ae7e7d.png|Image]] [[Component: ID 995fa4f2_71ce_4d91_aa62_87f731ae7e7d|Circular Gauge]]
  
| Rotary control designed for SCADA.Has customisable value markings around the control.Simulation only.
+
| A circular 2d gauge component.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 29e63c23_636f_4f9a_b691_ba1a717e3503.png|Image]] [[Component: ID 29e63c23_636f_4f9a_b691_ba1a717e3503|Joystick]]
+
|width=30%|[[File:Component Icon 940e39a6_d035_4e43_8dbb_455ee4679066.png|Image]] [[Component: ID 940e39a6_d035_4e43_8dbb_455ee4679066|Console Writer]]
 
 
| A simple joystick component allowing for easy mouse or touchscreen based analogue control.
 
 
 
|-
 
|width=30%|[[File:Component Icon 3bdcb2e0_ed44_451f_9889_66f316359482.png|Image]] [[Component: ID 3bdcb2e0_ed44_451f_9889_66f316359482|Simulation Switch Template]]
 
 
 
| A base for building switches that do not download to chip.Mouse interaction can send 'System.User' events with the following data...ID = The handle of the switch component sending the messageMessage = 1 (on) or 0 (off)Current state can also be read via simulation macros.
 
|}
 
 
 
===Indicators===
 
 
 
{| class="wikitable" width="85%"
 
 
 
|width=30%|[[File:Component Icon 4861b972_b20b_479a_9620_fb7ab23e66c3.png|Image]] [[Component: ID 4861b972_b20b_479a_9620_fb7ab23e66c3|Graph Plotter]]
 
  
| A simple component to allow a number of values to be plotted onto a panel primitive.
+
| A simple component to aid in creating and wiriting data to a console tab.
  
 
|-
 
|-
Line 1,998: Line 2,147:
  
 
| Square analogue panel meter.A simulation only component - the needle value is set solely by the 'SetValue' macro.
 
| Square analogue panel meter.A simulation only component - the needle value is set solely by the 'SetValue' macro.
 +
 +
|-
 +
|width=30%|[[File:Component Icon 05e09581_b11d_46ae_b32d_c6414a6a922d.png|Image]] [[Component: ID 05e09581_b11d_46ae_b32d_c6414a6a922d|LinearGauge]]
 +
 +
| A linear 2d gauge component.
  
 
|-
 
|-
Line 2,008: Line 2,162:
  
 
| Allows a numeric value to be displayed on the user panel using virtual 7 seg displays.Used for displaying the value of a variable during simulation runtime.Provides up to 5 customisable ranges to automatically alter the colour of the label based on the value.
 
| Allows a numeric value to be displayed on the user panel using virtual 7 seg displays.Used for displaying the value of a variable during simulation runtime.Provides up to 5 customisable ranges to automatically alter the colour of the label based on the value.
 +
 +
|-
 +
|width=30%|[[File:Component Icon f959d1c6_e0be_415b_abd6_da5b386638f3.png|Image]] [[Component: ID f959d1c6_e0be_415b_abd6_da5b386638f3|Numeric Indicator]]
 +
 +
| A 2d numeric indicator component.
  
 
|-
 
|-
Line 2,015: Line 2,174:
  
 
|-
 
|-
|width=30%|[[File:Component Icon 4ae66a67_562d_4d77_8417_9cd652f4f103.png|Image]] [[Component: ID 4ae66a67_562d_4d77_8417_9cd652f4f103|Real Speak]]
+
|width=30%|[[File:Component Icon 1bdd06a6_fc18_4990_917d_004c430f855e.png|Image]] [[Component: ID 1bdd06a6_fc18_4990_917d_004c430f855e|Simulation LED Template]]
  
| Advanced speech engine allowing realistic text to speech in multiple languages using the RealSpeak voice engine.
+
| Base for creating simulation LEDs and other on/off visual indicators.Choose a 'Target Object' that will change colour when the pin changes;if multiple objects must change color, group them, and target the group.When 'Auto off color" is selected, changing the 'on color' will automaticallychoose an off color by reducing the intensity of the on color.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 1bdd06a6_fc18_4990_917d_004c430f855e.png|Image]] [[Component: ID 1bdd06a6_fc18_4990_917d_004c430f855e|Simulation LED Template]]
+
|width=30%|[[File:Component Icon 4ae66a67_562d_4d77_8417_9cd652f4f103.png|Image]] [[Component: ID 4ae66a67_562d_4d77_8417_9cd652f4f103|Speech (RealSpeak)]]
 +
 
 +
| Advanced speech engine allowing realistic text to speech in multiple languages using the RealSpeak voice engine.Available in simulation only.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon c31acc1a_f3a2_4fe2_b57c_f654379dd832.png|Image]] [[Component: ID c31acc1a_f3a2_4fe2_b57c_f654379dd832|StaticText]]
  
| Base for creating simulation LEDs and other on/off visual indicators.Choose a 'Target Object' that will change colour when the pin changes;if multiple objects must change color, group them, and target the group.When 'Auto off color" is selected, changing the 'on color' will automaticallychoose an off color by reducing the intensity of the on color.
+
| A text component for the 2d panel.
  
 
|-
 
|-
Line 2,030: Line 2,194:
 
|}
 
|}
  
===Industrial===
+
===Matrix Tools===
 
 
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
  
|width=30%|[[File:Component Icon 9415f6ca_f29a_46cc_b3e8_f047cf0c598a.png|Image]] [[Component: ID 9415f6ca_f29a_46cc_b3e8_f047cf0c598a|Digital Valve]]
+
|width=30%|[[File:Component Icon e2ed1829_6967_4339_98e1_3806650297c5.png|Image]] [[Component: ID e2ed1829_6967_4339_98e1_3806650297c5|Device Helper]]
  
| A simple digital valve that can be either open or closed. The valve has component macros to set and get the current state of the valve.The valve can be initialised to be open or closed when starting.The valve can be clicked to open or close via the runtime.Compatible with SCADA interconnecting pipe components.
+
| A purely cosmetic component for viewing the details specific to your current selected target microcontroller.Lists stats like ADC resolution, ADC channels, UARTs, SPI, PWM, RAM, ROM etc
  
 
|-
 
|-
|width=30%|[[File:Component Icon 810fd965_8219_4633_a26f_49d73890b4c9.png|Image]] [[Component: ID 810fd965_8219_4633_a26f_49d73890b4c9|Fan Pump]]
+
|width=30%|[[File:Component Icon fc3c670c_502a_418f_a123_649179752383.png|Image]] [[Component: ID fc3c670c_502a_418f_a123_649179752383|FCD helper]]
  
| A simple rotating fan or pump.The component has macros to set and get the current rotational speed.Compatible with SCADA interconnecting pipe components.
+
| A helper control to query the current Flowcode definition XML file.
  
 
|-
 
|-
|width=30%|[[File:Component Icon cc493328_7354_44de_b2f1_b70afac30dff.png|Image]] [[Component: ID cc493328_7354_44de_b2f1_b70afac30dff|Hopper]]
+
|width=30%|[[File:Component Icon 3e5cc6d0_3e36_46b8_bc40_f238a5735b6e.png|Image]] [[Component: ID 3e5cc6d0_3e36_46b8_bc40_f238a5735b6e|IntOsc Helper]]
  
| A simple hopper that can be used to store produce.The hopper has component macros to set and get the current level of produce.The hopper can be initialised to be full or empty when starting.Compatible with SCADA interconnecting pipe components.
+
| A component to help configure the speed of the internal oscillator.Currently only supports 8-bit PIC devices.
  
 
|-
 
|-
|width=30%|[[File:Component Icon 10253706_19b9_4d0c_b3a2_33fabd2c5b82.png|Image]] [[Component: ID 10253706_19b9_4d0c_b3a2_33fabd2c5b82|Pipe]]
+
|width=30%|[[File:Component Icon 5f7b77e5_e979_4010_93f1_e6d98f83bd71.png|Image]] [[Component: ID 5f7b77e5_e979_4010_93f1_e6d98f83bd71|Is Sim]]
  
| A Pipe Component
+
| A simple component designed to aid in detecting if the current code is running in simulation or on a microcontroller.
 +
|}
 +
===Runtime Tools===
 +
{| class="wikitable" width="85%"
  
|-
+
|width=30%|[[File:Component Icon cbb3c28e_2d73_4442_ac52_23a3b45d9870.png|Image]] [[Component: ID cbb3c28e_2d73_4442_ac52_23a3b45d9870|COM Port]]
|width=30%|[[File:Component Icon 311acbb0_1031_4952_bc15_9524b6b1b074.png|Image]] [[Component: ID 311acbb0_1031_4952_bc15_9524b6b1b074|Right Angle Pipe]]
 
  
| A Right Angle Component For Connecting Pipes Around Corners
+
| Serial based simulation component for use with systems such as RS232, Bluetooth and USB Serial.
|}
 
  
===SCADA Slaves===
+
|-
 +
|width=30%|[[File:Component Icon 7d0c33a1_0aaa_4250_84bb_f96fc113abac.png|Image]] [[Component: ID 7d0c33a1_0aaa_4250_84bb_f96fc113abac|CSV ReadWrite]]
  
{| class="wikitable" width="85%"
+
| A component to simplify the task of creating and dumping data to a CSV file that can be loadedinto Microcoft Excel or LibreOffice Math to create nice charts and graphs.
  
|width=30%|[[File:Component Icon 2b53c2f2_b5d4_4e36_a647_6f9238744a75.png|Image]] [[Component: ID 2b53c2f2_b5d4_4e36_a647_6f9238744a75|SCADA (Arduino Uno)]]
+
|-
 +
|width=30%|[[File:Component Icon a1da060c_e74a_4e12_bb90_3ddb43265592.png|Image]] [[Component: ID a1da060c_e74a_4e12_bb90_3ddb43265592|Console Debugger (Raspberry Pi)]]
  
| Connects to an Arduino Uno running the SCADA Arduino Uno Firmware allowing the board to become a slave to the flowcode simulation runtime.  
+
| Component to allow printing debug messages to the Raspberry Pi Console.When simulation the component will print the debug messages to the Console window.Raspberry Pi Only
  
Supports: Digital IO / ADC / I2C / SPI / PWM.
 
 
|-
 
|-
|width=30%|[[File:Component Icon c9197106_edf6_4dcc_9654_ea56ad26f370.png|Image]] [[Component: ID c9197106_edf6_4dcc_9654_ea56ad26f370|SCADA (ECIO28P)]]
+
|width=30%|[[File:Component Icon 3bf29e52_ebb4_4528_8d19_b2860c8ab80c.png|Image]] [[Component: ID 3bf29e52_ebb4_4528_8d19_b2860c8ab80c|Console User Input]]
  
| Connects to an ECIO28P running the SCADA ECIO28P Firmware allowing the board to become a slave to the flowcode simulation runtime.
+
| Allows data to be input via a console tab in raw ASCII form or as numeric byte data 0-255.
  
Supports: Digital IO / ADC / I2C / SPI / PWM / UART.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 40d5f2e2_3fb5_479a_91e1_f8ec3aae9e3a.png|Image]] [[Component: ID 40d5f2e2_3fb5_479a_91e1_f8ec3aae9e3a|SCADA (ECIO40P)]]
+
|width=30%|[[File:Component Icon 7ade85db_6ca2_48bf_b19c_8148ebda497b.png|Image]] [[Component: ID 7ade85db_6ca2_48bf_b19c_8148ebda497b|Dashboard Text]]
  
| Connects to an ECIO40P running the SCADA ECIO40P Firmware allowing the board to become a slave to the flowcode simulation runtime.
+
| A simulation only text box that can be used to display text and numbers.
  
Supports: Digital IO / ADC / I2C / SPI / PWM / UART.
+
|-
|}
+
|width=30%|[[File:Component Icon 33b1e2c6_5509_40bf_a464_167edcbcf571.png|Image]] [[Component: ID 33b1e2c6_5509_40bf_a464_167edcbcf571|Data Recorder Setup]]
  
===SCADA Tools===
+
| A component to allow data from analogue and digital pins to be displayed on the scope window.Compatible with simulation and for showing ICT based debug data.
 
 
{| class="wikitable" width="85%"
 
  
 +
|-
 
|width=30%|[[File:Component Icon 3022653d_9f9f_4981_b558_9ed8d265c931.png|Image]] [[Component: ID 3022653d_9f9f_4981_b558_9ed8d265c931|Event Log]]
 
|width=30%|[[File:Component Icon 3022653d_9f9f_4981_b558_9ed8d265c931.png|Image]] [[Component: ID 3022653d_9f9f_4981_b558_9ed8d265c931|Event Log]]
  
Line 2,091: Line 2,254:
  
 
|-
 
|-
|width=30%|[[File:Component Icon f137a538_3ebf_42e7_a941_b8f628802070.png|Image]] [[Component: ID f137a538_3ebf_42e7_a941_b8f628802070|Timed Event Trigger]]
+
|width=30%|[[File:Component Icon 6ed9452d_1ae7_4f70_991c_6d8085a2d923.png|Image]] [[Component: ID 6ed9452d_1ae7_4f70_991c_6d8085a2d923|Input Message Box]]
 +
 
 +
| Creates simple dialogue boxes to collect information from a user.Available with multiple button options, OK, Yes / No / Cancel and User String input.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon eb9025a7_acec_455c_9033_bd4dd2586e05.png|Image]] [[Component: ID eb9025a7_acec_455c_9033_bd4dd2586e05|Keyboard]]
 +
 
 +
| Component to allow you to get direct input from the keyboard. Specific keys can be polled to test if they are pressed and provide interaction with the runtime panel.
  
| Component that will check to see if a predetermined amount of time has passed.Useful for doing things on a regular basis, e.g. every minute or every hour.
+
|-
|}
+
|width=30%|[[File:Component Icon d2a7fe23_7dd2_43ca_ad55_185eec92fdd8.png|Image]] [[Component: ID d2a7fe23_7dd2_43ca_ad55_185eec92fdd8|Message Box]]
  
==Simulation==
+
| Creates simple dialogue message box to present a message to a user.
===Animation===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon f2dfca22_b0b8_4694_8d30_1c25063578e3.png|Image]] [[Component: ID f2dfca22_b0b8_4694_8d30_1c25063578e3|Animator]]
 
  
| Basic animation and physics simulation for a single object.
 
 
|-
 
|-
|width=30%|[[File:Component Icon ddc97f5d_2b6c_4e5a_be40_c5c91123b8cc.png|Image]] [[Component: ID ddc97f5d_2b6c_4e5a_be40_c5c91123b8cc|Motion Helper]]
+
|width=30%|[[File:Component Icon 82a800d4_8620_4386_8ba3_25af2768f24e.png|Image]] [[Component: ID 82a800d4_8620_4386_8ba3_25af2768f24e|Mouse]]
  
| Helper for building components which require simulation of constant motion.
+
| A component to read the mouse buttons or position of the cursor on the screen.
|}
 
===Simulation===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon 264eadac_6fe5_43e0_bfb6_969175aaab93.png|Image]] [[Component: ID 264eadac_6fe5_43e0_bfb6_969175aaab93|Formula Flowcode Racetrack (HP458)]]
 
  
| A simple race course for the Formula Flowcode buggy.
 
 
|-
 
|-
|width=30%|[[File:Component Icon fc012d2f_082a_4f6f_a61b_314c46477eb2.png|Image]] [[Component: ID fc012d2f_082a_4f6f_a61b_314c46477eb2|Maze Generator (HP458)]]
+
|width=30%|[[File:Component Icon 06db27a4_c20a_4371_b05e_7cdb55556859.png|Image]] [[Component: ID 06db27a4_c20a_4371_b05e_7cdb55556859|Panel Console Viewer]]
 +
 
 +
| An easy way to display the data from a console on the panel.Links to a component that generates console data.
  
| Creates a simulation only randomised maze out of standard micromouse maze walls and pillars.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 4aead223_94b8_4744_9674_7c21acc80681.png|Image]] [[Component: ID 4aead223_94b8_4744_9674_7c21acc80681|Meter Square]]
+
|width=30%|[[File:Component Icon 819d0c05_aaa2_4431_84dc_d40f3eee1b54.png|Image]] [[Component: ID 819d0c05_aaa2_4431_84dc_d40f3eee1b54|Property Manager]]
 +
 
 +
| Allows property values exposed to the user to be saved and loaded using an external file.Simplifies the process of storing and retreiving the property values.Also works with nested properties using the "::" syntax.
  
| Square analogue panel meter.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 66dc78fd_b0c7_42f8_aaea_ccbb291001fb.png|Image]] [[Component: ID 66dc78fd_b0c7_42f8_aaea_ccbb291001fb|Simulation 7 Seg]]
+
|width=30%|[[File:Component Icon b86179cb_b561_4be4_9d12_e51da4248807.png|Image]] [[Component: ID b86179cb_b561_4be4_9d12_e51da4248807|Serial Monitor]]
 +
 
 +
| Allows data from a COM port to be piped through to the console window for easy program status and debugging.
  
| Simulated single digit seven segment display.LED colour can be changed in properties.
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon b9cd8fbe_d082_4fe3_b1a0_d6f33f8af028.png|Image]] [[Component: ID b9cd8fbe_d082_4fe3_b1a0_d6f33f8af028|Simulation External Input]]
 
|width=30%|[[File:Component Icon b9cd8fbe_d082_4fe3_b1a0_d6f33f8af028.png|Image]] [[Component: ID b9cd8fbe_d082_4fe3_b1a0_d6f33f8af028|Simulation External Input]]
  
| A simulation only component designed to allow a single digital pin to be toggled at a set frequency.
+
| A simulation only component designed to allow a single digital pin to be toggled at a set frequency.Allows things like switch presses or external square waves to be used with the simulation.
 +
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon a96ddf9d_631d_4db7_a66e_c709e2de7164.png|Image]] [[Component: ID a96ddf9d_631d_4db7_a66e_c709e2de7164|Time Stamp]]
 
|width=30%|[[File:Component Icon a96ddf9d_631d_4db7_a66e_c709e2de7164.png|Image]] [[Component: ID a96ddf9d_631d_4db7_a66e_c709e2de7164|Time Stamp]]
  
 
| A simple simulation component to collect the current system timestamp as a string.
 
| A simple simulation component to collect the current system timestamp as a string.
|}
 
  
===Scenarios===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon a05022fd_6fa1_499d_b885_a7d983e7bfdf.png|Image]] [[Component: ID a05022fd_6fa1_499d_b885_a7d983e7bfdf|Airplane Landing Gear]]
 
 
| A simulation of an Airplane Landing Gear containing, switches, locking mechanisms and retracting landing gear.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 93252f96_a8e5_4d65_8c40_11614bb15b52.png|Image]] [[Component: ID 93252f96_a8e5_4d65_8c40_11614bb15b52|CNC Machine]]
+
|width=30%|[[File:Component Icon f137a538_3ebf_42e7_a941_b8f628802070.png|Image]] [[Component: ID f137a538_3ebf_42e7_a941_b8f628802070|Timed Event Trigger]]
  
| A CNC Machine that allows for simulation movement in the X, Y, Z directions and also providing access to the Drill.
+
| Component that will check to see if a predetermined amount of time has passed.Useful for doing things on a regular basis, e.g. every minute or every hour.
|-
 
|width=30%|[[File:Component Icon fde30de0_35ed_40ca_937a_88da6409c1d2.png|Image]] [[Component: ID fde30de0_35ed_40ca_937a_88da6409c1d2|Car Seat]]
 
 
 
| An electric car seat chassis with a series of motors and sensors.
 
|-
 
|width=30%|[[File:Component Icon c46023c5_27e5_4122_bf3e_4519f23cfa0c.png|Image]] [[Component: ID c46023c5_27e5_4122_bf3e_4519f23cfa0c|Pedestrian Crossing]]
 
  
| A set of pedestrian crossing lights complete with manual light control, a simple state machine and an
 
 
|-
 
|-
|width=30%|[[File:Component Icon fddf4a52_13cf_4a42_b4c5_d525e824a55a.png|Image]] [[Component: ID fddf4a52_13cf_4a42_b4c5_d525e824a55a|Sheep Pen]]
+
|width=30%|[[File:Component Icon 51ad4fb4_3b45_4cd0_a74c_87311de8d3a2.png|Image]] [[Component: ID 51ad4fb4_3b45_4cd0_a74c_87311de8d3a2|Tone Generator]]
  
| A simple sheep pen simulation with two gates and two sensors.
+
| A component to generate simple mono tone audio tones for use in alarms or other audible feedback.
|-
 
|width=30%|[[File:Component Icon 0c6b22fc_6e81_4406_aabd_5feb928e6aee.png|Image]] [[Component: ID 0c6b22fc_6e81_4406_aabd_5feb928e6aee|Traffic Light 1_Way]]
 
  
| A set of one way traffic lights complete with manual light control, a simple state machine and an
 
 
|-
 
|-
|width=30%|[[File:Component Icon dbf602c1_cb49_4149_bcd3_4a5afeae9a7a.png|Image]] [[Component: ID dbf602c1_cb49_4149_bcd3_4a5afeae9a7a|Traffic Light 2_Way]]
+
|width=30%|[[File:Component Icon f54fa744_5af4_4c08_bdb9_fb31848a2b63.png|Image]] [[Component: ID f54fa744_5af4_4c08_bdb9_fb31848a2b63|XML JSON Parser]]
  
| A set of two way traffic lights complete with manual light control, a simple state machine and an
+
| A component designed to simplify the collection of data from XML and JSON sources.Parses the raw data and creates a dynamic representation of the data that is easy to navigate and interrogate.Also allows the objects to be manually created or edited and then re-exported as XML or JSON format.
 
|}
 
|}
  
==Tools==
+
===Scenarios===
===3rd Party Equipment/Tools===
 
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
|width=30%|[[File:Component Icon 563f8662_1205_4508_9e07_0b54471683f3.png|Image]] [[Component: ID 563f8662_1205_4508_9e07_0b54471683f3|K8055D]]
 
  
| Support for the Velleman K8055 USB input/output board.
+
|width=30%|[[File:Component Icon 62b6ca37_eb0a_4b5f_b2e1_9a732c4e05ce.png|Image]] [[Component: ID 62b6ca37_eb0a_4b5f_b2e1_9a732c4e05ce|3D Printer]]
|-
 
|width=30%|[[File:Component Icon 66309a73_20da_4f2f_bb92_c4749cfad84c.png|Image]] [[Component: ID 66309a73_20da_4f2f_bb92_c4749cfad84c|PicoScope (PS2000)]]
 
  
| A set of functions designed for interacting with a 2000 series Pico scope via simulation.
+
| A simulation only version of a very basic 3D printer such as a standard RepRap.
|-
 
|width=30%|[[File:Component Icon 3c01caaa_b732_49a0_b15e_7c9d98878b19.png|Image]] [[Component: ID 3c01caaa_b732_49a0_b15e_7c9d98878b19|TTI TG5011 Signal Generator (TG5011)]]
 
  
| TTi TG5011 50 MHz Signal Generator
 
 
|-
 
|-
|width=30%|[[File:Component Icon 8c08bf29_be7e_4408_92bc_91c476fb70db.png|Image]] [[Component: ID 8c08bf29_be7e_4408_92bc_91c476fb70db|TTi Power Supply _ PL155_P (TTi PL155-P PSU)]]
+
|width=30%|[[File:Component Icon a05022fd_6fa1_499d_b885_a7d983e7bfdf.png|Image]] [[Component: ID a05022fd_6fa1_499d_b885_a7d983e7bfdf|Airplane Landing Gear]]
  
| TTi PL155-P Power Supply Unit Component.
+
| A simulation of an Airplane Landing Gear containing, switches, locking mechanisms and retracting landing gear.
|}
 
===Matrix Tools===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon cbb3c28e_2d73_4442_ac52_23a3b45d9870.png|Image]] [[Component: ID cbb3c28e_2d73_4442_ac52_23a3b45d9870|COM Port]]
 
  
| Serial based simulation component for use with systems such as RS232, Bluetooth and USB Serial.
 
 
|-
 
|-
|width=30%|[[File:Component Icon a1da060c_e74a_4e12_bb90_3ddb43265592.png|Image]] [[Component: ID a1da060c_e74a_4e12_bb90_3ddb43265592|Console Debugger (Raspberry Pi)]]
+
|width=30%|[[File:Component Icon 93252f96_a8e5_4d65_8c40_11614bb15b52.png|Image]] [[Component: ID 93252f96_a8e5_4d65_8c40_11614bb15b52|CNC Machine]]
  
| Component to allow printing debug messages to the Raspberry Pi Console.
+
| A CNC Machine that allows for simulation movement in the X, Y, Z directions and also providing access to the Drill.
|-
 
|width=30%|[[File:Component Icon e2ed1829_6967_4339_98e1_3806650297c5.png|Image]] [[Component: ID e2ed1829_6967_4339_98e1_3806650297c5|Device Helper]]
 
  
| A purely cosmetic component for viewing the details specific to your current selected target microcontroller.
 
 
|-
 
|-
|width=30%|[[File:Component Icon a5320e5b_75c1_4e67_9ed4_e933f40efc9a.png|Image]] [[Component: ID a5320e5b_75c1_4e67_9ed4_e933f40efc9a|E_block Helper]]
+
|width=30%|[[File:Component Icon fde30de0_35ed_40ca_937a_88da6409c1d2.png|Image]] [[Component: ID fde30de0_35ed_40ca_937a_88da6409c1d2|Car Seat]]
  
| A purely cosmetic component to help simplify E-block connections without having to keep referring to the datasheets.
+
| An electric car seat chassis with a series of motors and sensors. Students should workthrough exercises to learn the principles of electric car seats including how to saveand load memory positions.
|-
 
|width=30%|[[File:Component Icon fc3c670c_502a_418f_a123_649179752383.png|Image]] [[Component: ID fc3c670c_502a_418f_a123_649179752383|FCD helper]]
 
  
| A helper control to query the current FCD file
 
 
|-
 
|-
|width=30%|[[File:Component Icon 3e5cc6d0_3e36_46b8_bc40_f238a5735b6e.png|Image]] [[Component: ID 3e5cc6d0_3e36_46b8_bc40_f238a5735b6e|IntOsc Helper]]
+
|width=30%|[[File:Component Icon 264eadac_6fe5_43e0_bfb6_969175aaab93.png|Image]] [[Component: ID 264eadac_6fe5_43e0_bfb6_969175aaab93|Daytona Racetrack (HP458)]]
  
| A component to help configure the speed of the internal oscillator.
+
| A simple race course for the Formula Flowcode and Formula AllCode robot buggies.    Using Matrix product HP458, users are able to construct an exact replica of this course.
|-
 
|width=30%|[[File:Component Icon 33b1e2c6_5509_40bf_a464_167edcbcf571.png|Image]] [[Component: ID 33b1e2c6_5509_40bf_a464_167edcbcf571|Scope monitor]]
 
  
| A component to allow data from analogue and digital pins to be displayed on the scope window.
 
 
|-
 
|-
|width=30%|[[File:Component Icon b86179cb_b561_4be4_9d12_e51da4248807.png|Image]] [[Component: ID b86179cb_b561_4be4_9d12_e51da4248807|Serial Monitor]]
+
|width=30%|[[File:Component Icon fc012d2f_082a_4f6f_a61b_314c46477eb2.png|Image]] [[Component: ID fc012d2f_082a_4f6f_a61b_314c46477eb2|Maze Generator (HP458)]]
  
| Allows data from a COM port to be piped through to the console window for easy program status and debugging.
+
| Creates a simulation only randomised maze out of standard micromouse maze walls and pillars.Compatible with the Formula Flowcode robot.
|}
 
===Modelling Components===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon 9d67e3dc_ef9b_4d4d_b294_19c176eefab1.png|Image]] [[Component: ID 9d67e3dc_ef9b_4d4d_b294_19c176eefab1|Clone Matrix]]
 
  
| Takes a single object and produces a three dimensional array of evenly spaced clones.
 
|}
 
===Peripheral CAL===
 
{| class="wikitable" width="85%"
 
|width=30%|[[File:Component Icon e77a4e40_e0df_431a_98f8_7ae4d8ebfbeb.png|Image]] [[Component: ID e77a4e40_e0df_431a_98f8_7ae4d8ebfbeb|ADC (CAL)]]
 
 
| Low level component for dealing with hardware abstracted analogue to digital conversion (ADC) functionality.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 8a1cca2f_7df1_4b3a_b24b_ca575fe84348.png|Image]] [[Component: ID 8a1cca2f_7df1_4b3a_b24b_ca575fe84348|CAN (CAL)]]
+
|width=30%|[[File:Component Icon c46023c5_27e5_4122_bf3e_4519f23cfa0c.png|Image]] [[Component: ID c46023c5_27e5_4122_bf3e_4519f23cfa0c|Pedestrian Crossing]]
  
| Low level component for dealing with hardware abstracted internal CAN functionality.
+
| A set of pedestrian crossing lights complete with manual light control, a simple state machine and anautomatic mode to allow the lights to take care of themselves.
|-
 
|width=30%|[[File:Component Icon 18738948_277c_4ed2_8be0_becc616cb0b9.png|Image]] [[Component: ID 18738948_277c_4ed2_8be0_becc616cb0b9|EEPROM (CAL)]]
 
  
| Low level component for dealing with hardware abstracted EEPROM functionality.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 71d6cb24_d865_4ea8_b147_734ef7f76850.png|Image]] [[Component: ID 71d6cb24_d865_4ea8_b147_734ef7f76850|HBRIDGE (CAL)]]
+
|width=30%|[[File:Component Icon fddf4a52_13cf_4a42_b4c5_d525e824a55a.png|Image]] [[Component: ID fddf4a52_13cf_4a42_b4c5_d525e824a55a|Sheep Pen]]
  
| Low level component for dealing with hardware abstracted H-Bridge functionality.
+
| A simple sheep pen simulation with two gates and two sensors.Allows for simple logical control to try and move all the sheep from one pen to another.
|-
 
|width=30%|[[File:Component Icon ed3a5141_43bb_43e0_86b0_2243fd1147ca.png|Image]] [[Component: ID ed3a5141_43bb_43e0_86b0_2243fd1147ca|I2C (CAL)]]
 
  
| Low level component for dealing with hardware abstracted I2C functionality.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 068080a0_b949_4a7e_b370_c45430e0c9de.png|Image]] [[Component: ID 068080a0_b949_4a7e_b370_c45430e0c9de|PWM (CAL)]]
+
|width=30%|[[File:Component Icon 0c6b22fc_6e81_4406_aabd_5feb928e6aee.png|Image]] [[Component: ID 0c6b22fc_6e81_4406_aabd_5feb928e6aee|Traffic Light 1_Way]]
  
| Low level component for dealing with hardware abstracted Pulse Width Modulation (PWM) functionality.
+
| A set of one way traffic lights complete with manual light control, a simple state machine and anautomatic mode to allow the lights to take care of themselves.
|-
 
|width=30%|[[File:Component Icon c67171df_0ad6_4b11_8361_cfe14b072847.png|Image]] [[Component: ID c67171df_0ad6_4b11_8361_cfe14b072847|SPI (CAL)]]
 
  
| Low level component for dealing with hardware abstracted SPI functionality.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 91b64b1d_b8b2_40f1_b073_e953a91fa234.png|Image]] [[Component: ID 91b64b1d_b8b2_40f1_b073_e953a91fa234|UART (CAL)]]
+
|width=30%|[[File:Component Icon dbf602c1_cb49_4149_bcd3_4a5afeae9a7a.png|Image]] [[Component: ID dbf602c1_cb49_4149_bcd3_4a5afeae9a7a|Traffic Light 2_Way]]
 
 
| Low level component for dealing with hardware abstracted Serial UART functionality.
 
|-
 
|width=30%|[[File:Component Icon a7c1210d_3637_4a18_a6b3_9414ee73b179.png|Image]] [[Component: ID a7c1210d_3637_4a18_a6b3_9414ee73b179|UART SCADA (CAL)]]
 
  
| Low level implementation giving direct access to the COM port peripheral.
+
| A set of two way traffic lights complete with manual light control, a simple state machine and anautomatic mode to allow the lights to take care of themselves.
 
|}
 
|}
  
==Shapes==
+
==Creation==
 
===2D Shapes===
 
===2D Shapes===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
 +
 
|width=30%|[[File:Component Icon 93c4effe_9d15_4a15_a750_f47d206143a7.png|Image]] [[Component: ID 93c4effe_9d15_4a15_a750_f47d206143a7|Ellipse]]
 
|width=30%|[[File:Component Icon 93c4effe_9d15_4a15_a750_f47d206143a7.png|Image]] [[Component: ID 93c4effe_9d15_4a15_a750_f47d206143a7|Ellipse]]
  
 
| A basic ellipse primitive shape.
 
| A basic ellipse primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 9a971ee1_28e0_4e47_9c09_71268383fc75.png|Image]] [[Component: ID 9a971ee1_28e0_4e47_9c09_71268383fc75|Label]]
 
|width=30%|[[File:Component Icon 9a971ee1_28e0_4e47_9c09_71268383fc75.png|Image]] [[Component: ID 9a971ee1_28e0_4e47_9c09_71268383fc75|Label]]
  
 
| A basic text label.
 
| A basic text label.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 3a376ef4_ada5_4d3f_b255_2cf7139f051d.png|Image]] [[Component: ID 3a376ef4_ada5_4d3f_b255_2cf7139f051d|Line]]
 
|width=30%|[[File:Component Icon 3a376ef4_ada5_4d3f_b255_2cf7139f051d.png|Image]] [[Component: ID 3a376ef4_ada5_4d3f_b255_2cf7139f051d|Line]]
  
 
| A basic line primitive shape.
 
| A basic line primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 9ec41243_060f_42c3_93b0_de81ada331fa.png|Image]] [[Component: ID 9ec41243_060f_42c3_93b0_de81ada331fa|Rectangle]]
 
|width=30%|[[File:Component Icon 9ec41243_060f_42c3_93b0_de81ada331fa.png|Image]] [[Component: ID 9ec41243_060f_42c3_93b0_de81ada331fa|Rectangle]]
  
 
| A basic rectangle primitive shape.
 
| A basic rectangle primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 8583543f_4a30_428c_baa1_699145e36314.png|Image]] [[Component: ID 8583543f_4a30_428c_baa1_699145e36314|Rounded rectangle]]
 
|width=30%|[[File:Component Icon 8583543f_4a30_428c_baa1_699145e36314.png|Image]] [[Component: ID 8583543f_4a30_428c_baa1_699145e36314|Rounded rectangle]]
  
 
| A basic rounded rectangle primitive shape.
 
| A basic rounded rectangle primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 16d8b52e_ca01_4309_9afb_5e265b4ae1ca.png|Image]] [[Component: ID 16d8b52e_ca01_4309_9afb_5e265b4ae1ca|Textbox]]
 
|width=30%|[[File:Component Icon 16d8b52e_ca01_4309_9afb_5e265b4ae1ca.png|Image]] [[Component: ID 16d8b52e_ca01_4309_9afb_5e265b4ae1ca|Textbox]]
Line 2,292: Line 2,402:
 
===3D Shapes===
 
===3D Shapes===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
 +
 
|width=30%|[[File:Component Icon bea47ee6_07be_4545_a699_50c160ea12c0.png|Image]] [[Component: ID bea47ee6_07be_4545_a699_50c160ea12c0|Bowl]]
 
|width=30%|[[File:Component Icon bea47ee6_07be_4545_a699_50c160ea12c0.png|Image]] [[Component: ID bea47ee6_07be_4545_a699_50c160ea12c0|Bowl]]
  
 
| A basic bowl primitive shape.
 
| A basic bowl primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 18d0ecea_755f_43f7_9444_9dc9efaf859f.png|Image]] [[Component: ID 18d0ecea_755f_43f7_9444_9dc9efaf859f|Cone]]
 
|width=30%|[[File:Component Icon 18d0ecea_755f_43f7_9444_9dc9efaf859f.png|Image]] [[Component: ID 18d0ecea_755f_43f7_9444_9dc9efaf859f|Cone]]
  
 
| A basic cone primitive shape.
 
| A basic cone primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 4cbae05a_fee8_4685_b94c_829abc3466ab.png|Image]] [[Component: ID 4cbae05a_fee8_4685_b94c_829abc3466ab|Cuboid]]
 
|width=30%|[[File:Component Icon 4cbae05a_fee8_4685_b94c_829abc3466ab.png|Image]] [[Component: ID 4cbae05a_fee8_4685_b94c_829abc3466ab|Cuboid]]
  
 
| A basic cuboid primitive shape.
 
| A basic cuboid primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon c87d4bfd_6d1b_45ea_83b4_63250326b329.png|Image]] [[Component: ID c87d4bfd_6d1b_45ea_83b4_63250326b329|Cylinder]]
 
|width=30%|[[File:Component Icon c87d4bfd_6d1b_45ea_83b4_63250326b329.png|Image]] [[Component: ID c87d4bfd_6d1b_45ea_83b4_63250326b329|Cylinder]]
  
 
| A basic cylinder primitive shape.
 
| A basic cylinder primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon a7b268fb_4991_4ab8_b394_c1d6997c7422.png|Image]] [[Component: ID a7b268fb_4991_4ab8_b394_c1d6997c7422|Diamond]]
 
|width=30%|[[File:Component Icon a7b268fb_4991_4ab8_b394_c1d6997c7422.png|Image]] [[Component: ID a7b268fb_4991_4ab8_b394_c1d6997c7422|Diamond]]
  
 
| A basic diamond primitive shape.
 
| A basic diamond primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon b8bf4aa3_e477_4d95_9592_f7f609357658.png|Image]] [[Component: ID b8bf4aa3_e477_4d95_9592_f7f609357658|Hemisphere]]
 
|width=30%|[[File:Component Icon b8bf4aa3_e477_4d95_9592_f7f609357658.png|Image]] [[Component: ID b8bf4aa3_e477_4d95_9592_f7f609357658|Hemisphere]]
  
 
| A basic hemisphere primitive shape.
 
| A basic hemisphere primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 296ec9fd_cf9b_4338_bb42_b92e4326af25.png|Image]] [[Component: ID 296ec9fd_cf9b_4338_bb42_b92e4326af25|Honeycomb]]
 
|width=30%|[[File:Component Icon 296ec9fd_cf9b_4338_bb42_b92e4326af25.png|Image]] [[Component: ID 296ec9fd_cf9b_4338_bb42_b92e4326af25|Honeycomb]]
  
 
| A basic honeycomb primitive shape.
 
| A basic honeycomb primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 783af32a_4d8c_466c_938d_7b3c97e76e83.png|Image]] [[Component: ID 783af32a_4d8c_466c_938d_7b3c97e76e83|Prism]]
 
|width=30%|[[File:Component Icon 783af32a_4d8c_466c_938d_7b3c97e76e83.png|Image]] [[Component: ID 783af32a_4d8c_466c_938d_7b3c97e76e83|Prism]]
  
 
| A basic prism primitive shape.
 
| A basic prism primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 7a7f8adf_6b2a_4594_a511_94d47124a465.png|Image]] [[Component: ID 7a7f8adf_6b2a_4594_a511_94d47124a465|Pyramid]]
 
|width=30%|[[File:Component Icon 7a7f8adf_6b2a_4594_a511_94d47124a465.png|Image]] [[Component: ID 7a7f8adf_6b2a_4594_a511_94d47124a465|Pyramid]]
  
 
| A basic pyramid primitive shape.
 
| A basic pyramid primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon b295124a_85ec_4fae_943f_347bb2c50311.png|Image]] [[Component: ID b295124a_85ec_4fae_943f_347bb2c50311|Sphere]]
 
|width=30%|[[File:Component Icon b295124a_85ec_4fae_943f_347bb2c50311.png|Image]] [[Component: ID b295124a_85ec_4fae_943f_347bb2c50311|Sphere]]
  
 
| A basic sphere primitive shape.
 
| A basic sphere primitive shape.
 +
 
|-
 
|-
 
|width=30%|[[File:Component Icon 50c4286c_9896_48bd_8b7b_ab5d10540a1a.png|Image]] [[Component: ID 50c4286c_9896_48bd_8b7b_ab5d10540a1a|Tube]]
 
|width=30%|[[File:Component Icon 50c4286c_9896_48bd_8b7b_ab5d10540a1a.png|Image]] [[Component: ID 50c4286c_9896_48bd_8b7b_ab5d10540a1a|Tube]]
Line 2,338: Line 2,459:
 
===Advanced Shapes===
 
===Advanced Shapes===
 
{| class="wikitable" width="85%"
 
{| class="wikitable" width="85%"
 +
 
|width=30%|[[File:Component Icon d497dced_8e07_49d5_a9f9_4e67c43cb186.png|Image]] [[Component: ID d497dced_8e07_49d5_a9f9_4e67c43cb186|Bezel Radiused]]
 
|width=30%|[[File:Component Icon d497dced_8e07_49d5_a9f9_4e67c43cb186.png|Image]] [[Component: ID d497dced_8e07_49d5_a9f9_4e67c43cb186|Bezel Radiused]]
  
| A purely cosmetic component for creating smoothly radiused bezel or frame to fit around  
+
| A purely cosmetic component for creating smoothly radiused bezel or frame to fit around other components, or to define the edges of panel sections.
 +
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon c5be1da0_4b4c_49b9_82e5_ea2426f52606.png|Image]] [[Component: ID c5be1da0_4b4c_49b9_82e5_ea2426f52606|Component Label]]
 
|width=30%|[[File:Component Icon c5be1da0_4b4c_49b9_82e5_ea2426f52606.png|Image]] [[Component: ID c5be1da0_4b4c_49b9_82e5_ea2426f52606|Component Label]]
  
| Add a label to a component by including this component as a sub-component.
+
| Add a label to a component by including this component as a sub-component.The label will always face the viewer and move with its parent object.Text for the label is automatically read from the host component's name or any chosenproperty.
 +
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon 446d753f_a6dc_489d_b624_f4f191783aa0.png|Image]] [[Component: ID 446d753f_a6dc_489d_b624_f4f191783aa0|Component Labels]]
 
|width=30%|[[File:Component Icon 446d753f_a6dc_489d_b624_f4f191783aa0.png|Image]] [[Component: ID 446d753f_a6dc_489d_b624_f4f191783aa0|Component Labels]]
  
| Automatically generates labels for all panel objects and components in a given context.
+
| Automatically generates labels for all panel objects and components in a given context.Labels will always face the camera, and can show the name of each object, or any chosenproperty.  Nesting can be used so that components within components are labelled, and so on.
|-
 
|width=30%|[[File:Component Icon 7ade85db_6ca2_48bf_b19c_8148ebda497b.png|Image]] [[Component: ID 7ade85db_6ca2_48bf_b19c_8148ebda497b|Dashboard Text]]
 
  
| A simulation only text box that can be used to display text and numbers.
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon d750dde7_ddbc_4d66_bea1_5a5ae94dfa70.png|Image]] [[Component: ID d750dde7_ddbc_4d66_bea1_5a5ae94dfa70|Marking control]]
 
|width=30%|[[File:Component Icon d750dde7_ddbc_4d66_bea1_5a5ae94dfa70.png|Image]] [[Component: ID d750dde7_ddbc_4d66_bea1_5a5ae94dfa70|Marking control]]
  
 
| A control to draw markings on any component
 
| A control to draw markings on any component
|-
 
|width=30%|[[File:Component Icon 8e91085e_f978_404f_9de9_56424c4b56dd.png|Image]] [[Component: ID 8e91085e_f978_404f_9de9_56424c4b56dd|Panel Console Viewer]]
 
  
| An easy way to display the data from up to four console windows on the panel.
 
 
|-
 
|-
|width=30%|[[File:Component Icon 175423b4_b359_4aa7_9bc4_1867301742af.png|Image]] [[Component: ID 175423b4_b359_4aa7_9bc4_1867301742af|RxTx Flasher]]
+
|width=30%|[[File:Component Icon 4aead223_94b8_4744_9674_7c21acc80681.png|Image]] [[Component: ID 4aead223_94b8_4744_9674_7c21acc80681|Meter Square]]
 +
 
 +
| Square analogue panel meter.A simulation only component - the needle value is set solely by the 'SetValue' macro.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 175423b4_b359_4aa7_9bc4_1867301742af.png|Image]] [[Component: ID 175423b4_b359_4aa7_9bc4_1867301742af|RxTx Flasher]]
 +
 
 +
| Simple indicator panel intended as a sub-component of communications components.The two arrow shapes  can be set to flash by the host component to represent incoming andoutgoing data packets.The panel can be labelled and use a custom icon for easy identification.  The icon areacan be set to open a pre-defined console window when clicked.LEDs can also be flashed by sending the component a User Notify event.  Event'Message ID' is ignored.  Data should be:  1, to flash to Rx LED or 2 to flash the Tx LED.
  
| Simple indicator panel intended as a sub-component of communications components.
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon f307403b_2134_4efa_bfac_bbd0adc0f253.png|Image]] [[Component: ID f307403b_2134_4efa_bfac_bbd0adc0f253|Scale Arc Template]]
 
|width=30%|[[File:Component Icon f307403b_2134_4efa_bfac_bbd0adc0f253.png|Image]] [[Component: ID f307403b_2134_4efa_bfac_bbd0adc0f253|Scale Arc Template]]
  
| A base component for drawing circular dials.
+
| A base component for drawing circular dials. This allows a simple way to create graduatedand labelled dials, for example, within meter and rotary control components.Mouse handling is built in for ease of building interactive controls.
 +
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon 34671299_61e7_40d8_aac1_e33c93759d73.png|Image]] [[Component: ID 34671299_61e7_40d8_aac1_e33c93759d73|Scale Linear Template]]
 
|width=30%|[[File:Component Icon 34671299_61e7_40d8_aac1_e33c93759d73.png|Image]] [[Component: ID 34671299_61e7_40d8_aac1_e33c93759d73|Scale Linear Template]]
  
| A base component for drawing scales on horizontal or vertical strips.
+
| A base component for drawing scales on horizontal or vertical strips.Can be used to simplify the building of rulers, meters and slider controls.  Mouse handlingis built in for easy construction of interactive controls.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 66dc78fd_b0c7_42f8_aaea_ccbb291001fb.png|Image]] [[Component: ID 66dc78fd_b0c7_42f8_aaea_ccbb291001fb|Simulation 7 Seg]]
 +
 
 +
| Simulated single digit seven segment display.LED colour can be changed in properties.
 +
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon 0d074f2e_5ff6_45d2_a0a8_1b5c3aa34e41.png|Image]] [[Component: ID 0d074f2e_5ff6_45d2_a0a8_1b5c3aa34e41|Slider control]]
 
|width=30%|[[File:Component Icon 0d074f2e_5ff6_45d2_a0a8_1b5c3aa34e41.png|Image]] [[Component: ID 0d074f2e_5ff6_45d2_a0a8_1b5c3aa34e41|Slider control]]
  
| A simple graphical interface for a vertical meter or slider control.
+
| A simple graphical interface for a vertical meter or slider control. This can be used withincustom components to give them a way to display an analogue value, or to allow settinga value by clicking and dragging with the mouse.
 +
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon 3d632cd0_b8cb_4ca0_8f7a_59f88ac02fa3.png|Image]] [[Component: ID 3d632cd0_b8cb_4ca0_8f7a_59f88ac02fa3|Target Chip]]
 
|width=30%|[[File:Component Icon 3d632cd0_b8cb_4ca0_8f7a_59f88ac02fa3.png|Image]] [[Component: ID 3d632cd0_b8cb_4ca0_8f7a_59f88ac02fa3|Target Chip]]
  
 
| A cosmetic only representation of the target microcontoller device showing the default package type complete with pins.
 
| A cosmetic only representation of the target microcontoller device showing the default package type complete with pins.
 +
|}
 +
===Industrial===
 +
{| class="wikitable" width="85%"
 +
 +
|width=30%|[[File:Component Icon 9415f6ca_f29a_46cc_b3e8_f047cf0c598a.png|Image]] [[Component: ID 9415f6ca_f29a_46cc_b3e8_f047cf0c598a|Digital Valve]]
 +
 +
| A simple digital valve that can be either open or closed. The valve has component macros to set and get the current state of the valve.The valve can be initialised to be open or closed when starting.The valve can be clicked to open or close via the runtime.Compatible with SCADA interconnecting pipe components.
 +
 
|-
 
|-
|width=30%|[[File:Component Icon 3a9b473c_04d9_43e2_b6d4_1b22555e16af.png|Image]] [[Component: ID 3a9b473c_04d9_43e2_b6d4_1b22555e16af|Wood Fence]]
+
|width=30%|[[File:Component Icon 810fd965_8219_4633_a26f_49d73890b4c9.png|Image]] [[Component: ID 810fd965_8219_4633_a26f_49d73890b4c9|Fan Pump]]
 +
 
 +
| A simple rotating fan or pump.The component has macros to set and get the current rotational speed.Compatible with SCADA interconnecting pipe components.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon cc493328_7354_44de_b2f1_b70afac30dff.png|Image]] [[Component: ID cc493328_7354_44de_b2f1_b70afac30dff|Hopper]]
 +
 
 +
| A simple hopper that can be used to store produce.The hopper has component macros to set and get the current level of produce.The hopper can be initialised to be full or empty when starting.Compatible with SCADA interconnecting pipe components.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 10253706_19b9_4d0c_b3a2_33fabd2c5b82.png|Image]] [[Component: ID 10253706_19b9_4d0c_b3a2_33fabd2c5b82|Pipe]]
 +
 
 +
| A Pipe Component
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 311acbb0_1031_4952_bc15_9524b6b1b074.png|Image]] [[Component: ID 311acbb0_1031_4952_bc15_9524b6b1b074|Right Angle Pipe]]
 +
 
 +
| A Right Angle Component For Connecting Pipes Around Corners
 +
|}
 +
===Misc Shapes===
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon 3a9b473c_04d9_43e2_b6d4_1b22555e16af.png|Image]] [[Component: ID 3a9b473c_04d9_43e2_b6d4_1b22555e16af|Wood Fence]]
 +
 
 +
| A simple wooden fence used to create simple walls and pens for simulations.
  
| A simple wooden fence used to create simple walls and pens for simulations.
 
 
|-
 
|-
 
|width=30%|[[File:Component Icon 315b8ff5_e86e_4b4a_b823_5d8574101738.png|Image]] [[Component: ID 315b8ff5_e86e_4b4a_b823_5d8574101738|Wood Gate]]
 
|width=30%|[[File:Component Icon 315b8ff5_e86e_4b4a_b823_5d8574101738.png|Image]] [[Component: ID 315b8ff5_e86e_4b4a_b823_5d8574101738|Wood Gate]]
  
| A simple gate that can be opened and closed via simulation macros.
+
| A simple gate that can be opened and closed via simulation macros.Used to control the flow of objects in the Flowcode simulator.
 +
|}
 +
===Modelling Components===
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon f2dfca22_b0b8_4694_8d30_1c25063578e3.png|Image]] [[Component: ID f2dfca22_b0b8_4694_8d30_1c25063578e3|Animator]]
 +
 
 +
| Basic animation and physics simulation for a single object.The target object can be set in motion by a simulation macro call, and will then continue inmotion under the control of the animator.Boundaries can be set beyond which the object cannot move, and the behaviour of the object defined when it meets them.Simple simulation of gravity and friction are also possible.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 9d67e3dc_ef9b_4d4d_b294_19c176eefab1.png|Image]] [[Component: ID 9d67e3dc_ef9b_4d4d_b294_19c176eefab1|Clone Matrix]]
 +
 
 +
| Takes a single object and produces a three dimensional array of evenly spaced clones.Inidividual items in the array can be found from their position and individually modifiedafter the array has been created.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon ddc97f5d_2b6c_4e5a_be40_c5c91123b8cc.png|Image]] [[Component: ID ddc97f5d_2b6c_4e5a_be40_c5c91123b8cc|Motion Helper]]
 +
 
 +
| Helper for building components which require simulation of constant motion.Linked objects can be issued speed and acceleration parameters, and will thenbe animated automatically until another command is issued.The helper can control motion for up to four objects simultaneously, all with theirown discrete motion settings.
 +
|}
 +
===Peripheral CAL (Code Abstraction Layer)===
 +
{| class="wikitable" width="85%"
 +
 
 +
|width=30%|[[File:Component Icon e77a4e40_e0df_431a_98f8_7ae4d8ebfbeb.png|Image]] [[Component: ID e77a4e40_e0df_431a_98f8_7ae4d8ebfbeb|ADC (CAL)]]
 +
 
 +
| A low level implementation giving direct access to the analogue to digital converter peripheral.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 8a1cca2f_7df1_4b3a_b24b_ca575fe84348.png|Image]] [[Component: ID 8a1cca2f_7df1_4b3a_b24b_ca575fe84348|CAN (CAL)]]
 +
 
 +
| Low level routines for controling the internal CAN peripheral.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 5bc4e362_1d31_4533_b8dd_134a53c5c0d9.png|Image]] [[Component: ID 5bc4e362_1d31_4533_b8dd_134a53c5c0d9|DMA (CAL)]]
 +
 
 +
| A low level implementation giving direct access to DMA routines.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 18738948_277c_4ed2_8be0_becc616cb0b9.png|Image]] [[Component: ID 18738948_277c_4ed2_8be0_becc616cb0b9|EEPROM (CAL)]]
 +
 
 +
| A low level implementation giving direct access to the EEPROM peripheral.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon f857ba2b_69dd_4c95_b14d_cd0979f066f1.png|Image]] [[Component: ID f857ba2b_69dd_4c95_b14d_cd0979f066f1|FLASH (CAL)]]
 +
 
 +
| A low level implementation giving direct access to Flash read and write routines.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 71d6cb24_d865_4ea8_b147_734ef7f76850.png|Image]] [[Component: ID 71d6cb24_d865_4ea8_b147_734ef7f76850|HBRIDGE (CAL)]]
 +
 
 +
| A low level implementation giving direct access to the H-Bridge peripheral.Currently only supports compatible 8-bit PIC devices.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon ed3a5141_43bb_43e0_86b0_2243fd1147ca.png|Image]] [[Component: ID ed3a5141_43bb_43e0_86b0_2243fd1147ca|I2C (CAL)]]
 +
 
 +
| A low level implementation giving direct access to the Two Wire I²C peripheral. Includes simulation functionality to commmunicate via a COM port or an API component.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 068080a0_b949_4a7e_b370_c45430e0c9de.png|Image]] [[Component: ID 068080a0_b949_4a7e_b370_c45430e0c9de|PWM (CAL)]]
 +
 
 +
| CAL = Code Abstraction Layer - Allows one code base to run on a wide range of chips.A low level implementation giving direct access to the Pulse Width Modulation peripheral.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon c67171df_0ad6_4b11_8361_cfe14b072847.png|Image]] [[Component: ID c67171df_0ad6_4b11_8361_cfe14b072847|SPI (CAL)]]
 +
 
 +
| A low level implementation giving direct access to the Serial Peripheral Interface peripheral. Includes simulation functionality to commmunicate via a COM port or an API component.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon 91b64b1d_b8b2_40f1_b073_e953a91fa234.png|Image]] [[Component: ID 91b64b1d_b8b2_40f1_b073_e953a91fa234|UART (CAL)]]
 +
 
 +
| A low level implementation giving direct access to the UART peripheral. Includes simulation functionality to commmunicate via a COM port or an API component. Also includes timestamped logging via the console and Data Recorder trace monitoring support.
 +
 
 +
|-
 +
|width=30%|[[File:Component Icon a7c1210d_3637_4a18_a6b3_9414ee73b179.png|Image]] [[Component: ID a7c1210d_3637_4a18_a6b3_9414ee73b179|UART SCADA (CAL)]]
 +
 
 +
| A low level implementation giving direct access to the UART peripheral. Includes simulation functionality to commmunicate via a COM port or an API component. Also includes timestamped logging via the console and Data Recorder trace monitoring support.
 
|}
 
|}

Latest revision as of 13:34, 17 June 2022

Inputs

Analog Input

Image ADC (AD7680) 16-bit external ADC connected to the microcontroller using SPI.
Image ADC (MCP356X) An external ADC featuring 2, 4, or 8 channel 24-bit input.Capable of reading each channel independently or in differential mode.Communication using an SPI bus up to 20MHz.
Image ADC QUAD + DAC (PCF8591) An I2C device allowing for up to 4 x 8-bit analogue inputs as well as 1 x 8-bit analogue output.Up to 8 devices can be used together ona signel I2C bus.
Image ADC Template Internal ADC (Analogue to Digital Converter) based components.
Image Joystick (Sparkfun Quiic) An XY sprung joystick with click switch allowing for easy user input control.Connected using I2C bus.

General Input

Image Grey Code Encoder Grey Code Encoder component implements a rotary encoder connected to a defined number of pinsGrey Code Encoders provide absolute positioning rather than incremental positioning.
Image Quadrature Encoder Quadrature Encoder component implements a rotary encoder connected to two pins.Quadrature Encoders provides incremental positioning rather than absolute positioning.
Image Wii Nunchuk A component to interface the Wii Nunchuck which features a 3-axis 10-bit AccelerometerA 2-axis 8-bit joystick and two digital button inputs.Interfaced using a standard I2C bus at 100KHz.Nunchuk must be powered at 3V3 to avoid damage.

Keypad

Image Keypad (4x4) Preset keypad based around the 4 * 4 unit.
Image Keypad (Generic) Keypad components based on raster scanned keypad modules or a simple button matrix.

Switch

Image Rotary Switch A standard rotary switch with 4 digital outputs and 10 or 16 discrete positions.
Image Switch (Microswitch) Industry standard V3 size microswitch fitter with a roller arm - activated by other panel objects coming into contact with the roller.
Image Switch Template Single switch digital input components.

Switches

Image Switch Array (Push) An array of up to eight momentary push switches, each connected to a single pin of the specified port.
Image Switch Array (Slide) An array of up to eight slide switches, each connected to a single pin of the specified port.

Outputs

Analog Output

Image DAC (AD5662) 16-bit external DAC connected to the microcontroller using SPI.
Image DAC (Internal) Provides access to the onboard digital to analog converter (DAC) peripheral allowing for simple analogue output.Often the DAC output will be very low current and will need amplification using external circuitry to drive anything useful.
Image DAC (MCP47x6) Component to drive a digital to analogue converter (DAC) IC from Microchip via an I2C interface.Compatible with MCP4706 (8-Bit), MCP4716 (10-Bit) and MCP4726 (12-Bit) devices.
Image DAC (MCP48x1) Component to drive a digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4801 (8-Bit), MCP4811 (10-Bit) and MCP4821 (12-Bit) devices.
Image DAC (MCP49x1) Component to drive a digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4901 (8-Bit), MCP4911 (10-Bit) and MCP4921 (12-Bit) devices.
Image DAC Dual (MCP48x2) Component to drive a dual digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4802 (8-Bit), MCP4812 (10-Bit) and MCP4822 (12-Bit) devices.
Image DAC Dual (MCP49x2) Component to drive a dual digital to analogue converter (DAC) IC from Microchip via an SPI interface.Compatible with MCP4902 (8-Bit), MCP4912 (10-Bit) and MCP4922 (12-Bit) devices.
Image DAC Quad (MCP4728) Component to drive a quad digital to analogue converter (DAC) IC from Microchip via an I2C interface.Compatible with MCP4728 (12-Bit) devices.
Image Digital Potentiometer (MCP41XX MCP42XX) The MCP41XX and MCP42XX device range supports up to 2 digital potentiometers or rheostat outputs.129 or 257 possible output resistance values for each channel.
Image Digital Potentiometer (MCP44XX) The MCP44XX device range supports 4 digital potentiometers or rheostat outputs.129 or 257 possible output resistance values for each channel.
Image Digital Potentiometer (MCP45XX / MCP46XX) The MCP45XX and MCP46XX device range supports up to 2 digital potentiometers or rheostat outputs.129 or 257 possible output resistance values for each channel.
Image Digital Potentiometer (X9Cx0x) The X9Cx0x device range supports a digital potentiometers outputs.100 possible wiper tap points available. Supported devices include X9C102, X9C103, X9C104, X9C503.

Audio Output

Image Buzzer Drives a simple fixed frequency buzzer in hardware and simulates the sound of a buzzer in simulation.To actually drive a buzzer you would have to amplify the signal from the microcontrollerusing a transistor or MOSFET.
Image Piezo Sounder Drives a simple variable frequency piezo sounder in hardware and simulates the sound in simulation.To actually drive a piezo you may have to amplify the signal from the microcontrollerusing a transistor or MOSFET.
Image Speech (Phoneme) Speech component allowing Phoneme based speech for use on an embedded platform.The simulation also has an advanced speech engine allowing realistic text to speech in multiple languages using the RealSpeak voice engine.

General Output

Image PWM (Internal) Pulse Width Modulation, a versitile way of generating a digital pulse using mark / space modulation.Uses the capture compare peripherals onboard most Microcontrollers to generate accurate waveforms without any intervention from the processor.Useful for generating audio, controlling the speed of motors, brightness of LED etc.
Image PWM 16CH 12Bit (PCA9685) The PCA9685 is an I²C-bus controlled 16-channel LED controller optimized for Red/Green/Blue/Amber (RGBA) color backlighting or Servo motor applications. Each output has its own 12-bit resolution (4096 steps) fixed frequency individual PWM controller that operates at a programmable frequency from a typical of 24 Hz to 1526 Hz.All outputs are set to the same PWM frequency.Up to 64 devices can be chained together on a single I²C-bus to provide up to 1024 individual PWM outputs.
Image Relay (Grove 103020005) (103020005) The Relay is a digital normally open switch capable of switching much higher voltages and currents than your normal Microcontroller outputs.When set to HIGH, the LED will light up and the relay will close allowing current to flow. The peak voltage capability is 250V at 10 amps.Simulated component is shaded green when the relay is active.

LED

Image LED (Generic, RGB) An LED with red, green and blue elements that can be mixed together to producealmost any colour at any brightness.
Image LED MultiColour Bi (5mm, PCB) An industry standard 5mm diameter bi-colour LED.Any color may be chosen, and the leads trimmed to length.
Image LED MultiColour Tri (5mm, PCB) An industry standard 5mm diameter tri-colour LED.Any color may be chosen, and the leads trimmed to length.
Image LED Template Single LED digital output components.

LEDs

Image Chainable RGB LED v2.0 (Grove 104020048) (104020048) Grove-Chainable RGB LED V2.0 is based on P9813S14 chip. This chip is a full-color light source driver chip that can provide three constant current driver and 256 greyscale modulation output. The key word of this product is “Chainable”, so how many LEDs can it be chained? By connecting the output grove connector of one LED to the input grove connector of another one, you are able to chain 1024 RGB LEDs at most!
Image LED Array Template Multiple LED digital output components.
Image LED Bar v2.0 (Grove 104020006) (104020006) LED Bar is comprised of a 10 segment LED gauge bar and an MY9221 LED controlling chip.It can be used as a indicator for remaining battery life, voltage, water level, music volume or other values that require a gradient display. There are 10 LED bars in the LED bar graph: one red, one yellow, one light green, and the rest green. It lights up the LEDs sequentially from red to green, so the entire bar graph is lit up in the end.
Image LED Charlieplex Create an evenly spaced array of LED indicators using a reduced amount of I/O pins.Only one LED can be switched on at once, high speed multiplexing allows multiple LEDs to appear to be lit at once.Each will be connected in line with the standard charlieplex scheme.Set target object to point at any standard LED component to change the style.
Image LED Matrix (HT16K33) LED Matrix component designed to work using a HT16K33 LED driver IC.Can drive up to 16 x 8 (128) LEDs.Includes support for 8x16 Backpack, 16x8 Featherwing, 8x8 Backpack and Custom.
Image LED Matrix (Parallel) LED Matrix component designed to work using multiple data pins and a single clock pin.Each LED on the display can be controlled in a chain by setting the data appropriatley and then generating the appropriate amount of clock pulses.
Image LED Matrix (Serial) LED Matrix component designed to work using a single data and clock pin.Each LED on the display can be controlled in a chain by setting the data appropriatley and then generating the appropriate amount of clock pulses.
Image RGB LED APA102C A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Supports Bit Banged or SPI peripheral based data modes.
Image RGB LED WS2801 A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Supports Bit Banged or SPI peripheral based data modes.
Image RGB LED WS2811 WS2812 APA106 A simple chained RGB LED controller IC allowing multiple LEDs to be controlled using a serial data stream.Compatible with the WS2811, WS2812, WS2812B, APA104 and APA106 Type Controller ICs.Allows RGB LEDs to be driven with full 24-bit colour depth.Allows single chains, 2D arrays and 3D cube formations to be simulated.Requires a high speed microcontroller to generate the critical timings to drive the device.

Mechatronics

Image Coupling A simple component to couple together two rotating shafts.An essential component when working with motors, gearboxes, encoders and other rotational systems.
Image Gearbox A simple component to couple together two rotating shafts via a gearbox.The gearbox can be used to scale the input rotational speed and optionally reverse the output direction.
Image Linear Actuator Creates a linear actuator that can be used with the various motor components via a coupling or gearbox.
Image Motor Template Base component for constructing continuous motion - e.g. motors.Automatically animates two objects - one within the same host components (e.g. moving partsof the motor itself), and one external (e.g. the mechanism to which the motor is connected).
Image Servo Motor Controller Can control up to eight standard PWM driven servo's.Supports 8-bit and 16-bit movement resolutions.'Servo Object' properties allow you to connect the controller to on-screen simulations using the "Servo Motor" component and its derivatives.
Image Servo Motor Template Base component for creating custom servo motor simulations.Recieves messages from the the 'Servo Controller' component.Macro 'SetTarget' allows external objects to be moved by the servofor mechanical simulations.
Image Solenoid Template Base component for constructing solenoids.These take a single input pin and move an actuator between two positions depending onthe pin state.
Image Stepper Motor Template Enables the creation of a stepper motor component by specifying objects for its appearance.'Attach to...' property should be exposed in any components buit from this -this sets a target object to be joined to the motor shaft.The target can then be rotated around the axis with a custom gear ration, or moved linearlyaccording to the pitch of a given lead screw.

Displays

Alphanumeric

Image LCD (Adafruit, 16x2) Adafruit OLED LCD display capable of displaying 2 lines of 16 characters.
Image LCD (Adafruit, 20x4) Adafruit OLED LCD display capable of displaying 4 lines of 20 characters.
Image LCD (Generic) Generic configurable alphanumeric LCD display component based on the standard Hitachi HD44780 controller IC wiith selectable 4/8 bit interface
Image LCD I2C (LCM1602) Generic alphanumeric LCD display based on the standard Hitachi HD44780 controller IC.Connected using an I2C based PCF8574 IO Expander IC.
Image LCD SPI (MiniClick) Generic alphanumeric LCD display based on the standard Hitachi HD44780 controller IC.Connected using an SPI based MCP23S17 SPI IO Expander IC as used on the LCD Mini Click.

Graphical Color

Image Drawing Area Simulation runtime only graphical display component designed for SCADA operations.Allows easy pixel based displays and support for the GLCD libraries such as bitmap drawer and textfield.
Image GLCD (4D Goldelox) Graphical display component designed to work with the Goldelox range of displays from 4D Systems.
Image GLCD (4D Picaso v1) (EB076) Graphical display component designed to work with the Picaso range of displays from 4D Systems.Component based around the uLCD-32PT display.
Image GLCD (4D Picaso v2) (EB076) Graphical display component designed to work with the Picaso range of displays from 4D Systems.Component based around the uLCD-32PTU display.
Image GLCD (ILI9163C) Graphical display component designed to work with the ILI9163C 16-bit colour graphical controller IC.
Image GLCD (ILI9341 SPI) Graphical display component designed to work with the ILI9341 controller ICBased on the ILI9341 16-bit colour graphical controller IC.Uses the SPI CAL component to allow for faster serial display communications.
Image GLCD (ILI9341) Graphical display component designed to work with the ILI9341 controller ICBased on the ILI9341 16-bit colour graphical controller IC.Supports Serial, 8-bit and 16-bit interface modes.
Image GLCD (LS020) Graphical display component designed to work with the LS020 display as used on the Siemens S65.
Image GLCD (SSD1289) Graphical display component based on the SSD1289 16-bit colour graphical controller IC.
Image GLCD (SSD1331) (SSD1331) Graphical display component based on the SSD1331 colour graphical controller IC.
Image GLCD (SSD1351 SPI) Graphical display component based on the SSD1351 16-bit colour graphical controller IC.Controlled using Hardware or Software SPI to acheive high speed communications.
Image GLCD (SSD1351) Graphical display component based on the SSD1251 16-bit colour graphical controller IC.
Image GLCD (SSD1963) Parallel Graphical display component designed to work with the SSD1963 controller ICBased on the SSD1963 16-bit colour graphical controller IC.
Image GLCD (ST7789V) Graphical display component designed to work with the ST7789V 16-bit colour graphical controller IC.
Image GLCD (STM32F429ZI) (STM32F429ZI) Graphical display component designed to work with the STM32F429ZI Discovery board from ST. Compatible with the large display and resistive touch input.
Image GLCD (STM32F469NI) (STM32F469NI) Graphical display component designed to work with the STM32F469NI Discovery board from ST. Compatible with the large display and capacitive touch input.
Image GLCD (STM32F746NG) (STM32F746NG) Graphical display component designed to work with the STM32F746NG Discovery board from ST. Compatible with the large display and capacitive touch input.
Image Nextion Display A simple libray to interface a Nextion display.The elements on the nextion display are built using the Nextion Editor software and uploaded to the display.The component can then interact with the display elements.
Image Raspberry Pi HDMI Graphical display component designed to work with the HDMI screen output of the Raspberry Pi

Graphical Library

Image Display Manager A component designed to simplify the process of drawing primitives and text onto a graphical display. Keeps track of coordinates so you don't have to.Also works great as a base layer for gLCD based games as it will check for collisions and perform movement.
Image GLCD Bitmap Drawer FAT A component to simplify the process of drawing bitmap images to a graphical display.Reads Bitmap files directly from a SD card formatted with a FAT file system.Compatible with 24-bit & Monochrome Bitmaps.The gLCD object property specifies which LCD component to draw the bitmap to.Compatible with GLCD, NeoPixel, MIACv3, HT16K33
Image GLCD Bitmap Drawer ROM A component to simplify the process of drawing bitmap images to a graphical display.Stores up to 10 bitmap images inside ROM based look up tables.Compatible with 24-bit / 256 Colour / 16 Colour / Monochrome Bitmaps.The gLCD object property specifies which LCD component to draw the bitmap to.Compatible with GLCD, NeoPixel, MIACv3, HT16K33
Image GLCD Graph Creator A component to simplify the process of drawing graphs and charts using a graphical LCD.
Image GLCD Graph Creator XY A component to simplify the process of drawing XY graphs and charts using a graphical LCD.
Image GLCD Textfield A component to simplify the process of drawing text to a graphical display.Allows the graphical LCD to be used more like a standard alphanumeric display.Compatible with the Graphical LCDs.
Image gLCD Font Library A component designed to simplify the task of creating dynamic fonts for use with graphical displays.

Graphical Monochrome

Image GLCD (Grove OLED) (OLED 1.12") Graphical display component based on the Seed Studio Grove OLED 1.12" and 0.96" monochrome displays.Functions without the use of a read back by hosting the graphical memory using the microcontroller's RAM memory.
Image GLCD (KS0108) Graphical display component designed to work with the KS0108 type monochrome displays.Also compatible with the newer S6A0107 controller IC displays.
Image GLCD (PDC8544) (PCD8544) Graphical display component based on the PCD8544 monochrome graphical controller IC as used on the popular Nokia 5510 displays.Functions without the use of a read pin by hosting the 1K of graphical memory using the microcontroller's RAM memory.
Image GLCD (SH1106) I2C Graphical display component designed to work with the SH1106 type monochrome displays.Transfers data using a 2-wire I2C interface.
Image GLCD (SH1106) SPI Graphical display component designed to work with the SH1106 type monochrome displays.Transfers data using a 4-wire SPI interface.
Image GLCD (SSD1305) (SSD1305) Graphical display component based on the SSD1305 monochrome graphical controller IC.
Image GLCD (SSD1305) Buffered (SSD1305) Graphical display component based on the SSD1305 monochrome graphical controller IC.Functions without the use of a read pin by hosting the 1K of graphical memory using the microcontroller's RAM memory.
Image GLCD (SSD1306) (SSD1306) Graphical display component based on the SSD1306 monochrome graphical controller IC.
Image GLCD (SSD1306) Buffered (SSD1306) Graphical display component based on the SSD1306 monochrome graphical controller IC.Functions without the use of a read pin by hosting the 1K of graphical memory using the microcontroller's RAM memory.
Image GLCD (SSD1306) I2C (SSD1306) Graphical display component based on the I2C version of the SSD1306 monochrome graphical controller IC.Functions without the use of a read pin by hosting the 1K of graphical memory using the microcontroller's RAM memory.
Image GLCD (SSD1306) SPI (SSD1306) Graphical display component based on the SPI version of the SSD1306 monochrome graphical controller IC.Functions without the use of a read pin forcing the data to be written a byte at a time.
Image GLCD (SSD1322) Buffered (SSD1322) Graphical display component based on the SSD1322 monochrome graphical controller IC.Functions without the use of a read pin by hosting the 2K of graphical memory using the microcontroller's RAM memory.
Image GLCD (SSD1322) Parallel Graphical display component designed to work with the SSD1322 type monochrome displays.Compatible with 6800 and 8080 type 8-bit parallel displays.
Image GLCD (ST7036) I2C (ST7036) Graphical display component based on the I2C version of the ST7036 monochrome graphical controller IC.Functions without the use of a read pin by hosting the 1K of graphical memory using the microcontroller's RAM memory.
Image GLCD (ST7565R) Parallel Graphical display component designed to work with the ST7565 type monochrome displays.Transfers data using an 8-bit digital data bus.
Image GLCD (ST7565R) SPI Graphical display component designed to work with the ST7565 type monochrome displays.Transfers data using a 4-wire SPI interface, cannot read back so pixel based routines won't work.
Image GLCD (ST7567) SPI Graphical display component designed to work with the ST7567 type monochrome displays.Transfers data using a 4-wire SPI interface, cannot read back so pixel based routines won't workNot for public release.
Image GLCD (ST7920) Parallel Graphical display component designed to work with the ST7920 ype monochrome displays.Transfers data using an 8-bit digital data bus.
Image GLCD (T6963C) A Graphical LCD component to drive displays fitted with a T6963C controller IC.
Image GLCD (TLS8201) A Graphical LCD component to drive displays fitted with a TLS8201 controller IC.
Image GLCD (UC1701) (UC1701) Graphical display component based on the UC1701 monochrome graphical controller IC.

Segment

Image 4_Digit Display (Grove 104030003) (104030003) Quad seven segment display using an two pin communications bus to reduce the number of control pins.Based on the Grove module 104030003.
Image 7Segment (74HC595) Seven segment display using 74HC595 serial to parallel shift register.Requires three standard output pins to drive the shift register.Shift registers can be chained together to drive up to six individual 7-segment displays.
Image 7Segment (Hex TM1637) Hex seven segment display using an two pin communications bus to reduce the number of control pins.Also provides up to 16 individual input switches.Driven using a TM1637 hex 7-segment display driver.
Image 7Segment (Quad TM1637) Quad seven segment display using an two pin communications bus to reduce the number of control pins.Driven using a TM1637 quad 7-segment display driver.
Image 7Segment (Quad) 14mm seven segment display. LED colour can be set from properties.
Image 7Segment (Single) Seven segment display modelled after a standard 14mm high unit.LED colour can be changed in properties.
Image Starburst Display Starburst 14 or 16 segment display modelled after a standard 14mm high unit.LED colour can be changed in properties.

Sensors

Audio

Image Heelight Sensor (Grove 101020312) (101020312) Heelight Sensor is a smart voice sensor that can recognize up tp 500 digital voice commands. It was originally used on the Heelight – a smart colorful bulb that can be controlled by digital sound waves. Allows you to realize smart control in your own projects.Compatible with Heelight smart phone apps and other Heelight controllers.
Image Sound Sensor (Grove 101020023) (101020023) The Sound sensor module is a simple microphone. Based on the power amplifier LM386 and the electret microphone, it can be used to detect the sound strength of the environment.


Image Ultrasonic (HCSR04) This board has both an ultrasonic transmitter and receiver. The transmitter is driven by an on-board 40KHz oscillator which is enabled by the host microprocessor. The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel ADC of the microprocessor. By measuring the time delay between enabling a transmit pulse and receiving an echo the distance of objects in a range of around 3cm to 3m can be determined.
Image Ultrasonic Ranger (Grove 101020010) (101020010) The ultrasonic sensor is a non-contact distance measurement module. It's designed for easy modular project usage with industrial performance.Detecting range: 3cm to 4m, best in 30 degree angle.

Environmental

Image Analogue Temp Sensors A range of the most popular temperature analogue sensors which are:AD22100, AD22103, LM135, LM235, LM335, LM35, LM36, LM37, LM60, MCP9700., MCP9701, TC1047, TMP35, TMP36, TMP37 & TSIC301.Uses a single ADC pin which will allow you to display the temperature in C or F. If your sensor is not listed, there is a Custom option. You will be able to enter the scale factor, offset voltage, min and maximum temperaturesIf the temperature is outside the min and max values, then 999.9 will be displayed.
Image Barometer (BME280) A small PCB surface mount barometric pressure sensor with a I2C bus interface.Pressure range 300 to 1100 hPa. Temperature range -40 to +85 °C.Works with I2C interface only.
Image Barometer (DPS310) A barometric air pressure sensor with high accuracy and low current consumption.Capable of sensing air pressure and temperature.Based on an I2C bus connection.
Image Barometer (Grove 101020192) (101020192) Barometric pressure sensor with a I2C bus interface.Pressure range 300 to 1100 hPa. Temperature range -40 to +85 °C.
Image Barometer (MS5637) A small PCB surface mount barometric pressure sensor with a I2C bus interface.Pressure range 0 to 30 Bar. Temperature range -20 to +85 °C.
Image Temp Humidity (DHT11) The DHT11 temperature and humidity sensor is a popular sensor allowing the ambient temperature and relative humidity to be monitored digitally.Humidity Range = 20% - 90% +/- 5%Temperature Range = 0 - 50 Degrees C +/- 2 Degrees C
Image Temp Humidity (DHT22) The DHT22 temperature and humidity sensor is a popular sensor allowing the ambient temperature and relative humidity to be monitored digitally.Humidity Range = 0% - 100% +/- 2%Temperature Range = -40 - 80 Degrees C +/- 0.5 Degrees C
Image Temp Humidity (Grove 101020019) (101020019) The DHT22 temperature and humidity sensor is a popular sensor allowing the ambient temperature and relative humidity to be monitored digitally.Humidity Range = 0% - 100% +/- 2%Temperature Range = -40 - 80 Degrees C +/- 0.5 Degrees C
Image Temp Humidity (Grove 101020212) (101020212) Humidity and temperature sensor using an SHT31 IC connected via I2C.On screen GUI allows temperature and humidity values to be simulated, and will show allI2C communication in a console window.
Image Temp Humidity (HTS221) A temperature and relative humidity sensor allowing the ambient temperature and relative humidity to be monitored digitally.Humidity Range = 0% - 100% +/- 3.5%Temperature Range = -40 - 120 Degrees C +/- 0.5 Degrees C
Image Temp Humidity (SHT21) Humidity and temperature sensor using an SHT21 IC connected via I2C.On screen GUI allows temperature and humidity values to be simulated, and will show allI2C communication in a console window.
Image Temp Humidity (SHT31) Humidity and temperature sensor using an SHT31 IC connected via I2C.On screen GUI allows temperature and humidity values to be simulated, and will show allI2C communication in a console window.
Image Temperature (DS1822) A rugged temperature sensor allowing one or more sensors to be addressed and read.Capable of reading temperatures from -55 to +125 degrees C.Requires a One Wire component to perform the bus operations.
Image Temperature (DS18B20) A rugged temperature sensor allowing one or more sensors to be addressed and read.Capable of reading temperatures from -55 to +125 degrees C.Requires a One Wire component to perform the bus operations.
Image Temperature (DS18S20) A rugged temperature sensor allowing one or more sensors to be addressed and read.Capable of reading temperatures from -55 to +125 degrees C.Requires a One Wire component to perform the bus operations.
Image Temperature (LM75B) A digital temperature sensor based around the NXP LM75B chip.
Image Temperature Infrared (Grove 101020062) The Grove Infrared Temperature Sensor allows none contact measurement of temperaturesranging from -10 to 100 degrees C.
Image Temperature Sensor (Grove 101020015) (101020015) Temperature Sensor uses a thermistor to measure ambient temperature. The resistance of thermistor changes based on ambient temperature. This resistance value alters the output of a voltage divider which is measured by an analog input pin and converted to a temperature value. The operating range is -40 to 125°C , with an accuracy of 1.5°C .
Image Thermistor A generic thermistor component that can be used to simulate and create code for anythermistor with a known temperature/resistance curve. Thermistor is connected in a simplepotential divider circuit - thermistor between ADC input and 0V, and a fixed resistor betweenADC and the positive supply. Default calibration is for the EBM003 module.
Image Thermocouple ( MCP960X) Component to interface the MCP960X IC from Microchip.Uses a standard 2-wire I2C interface to connect to the IC and collect the temperature.IC available in different versions to suit different thermocouple types.
Image Thermocouple (MAX31855) Component to interface the MAX31855 IC from MAXIM.Uses a standard 3-wire SPI interface to connect to the IC and collect the temperature.IC available in different versions to suit different thermocouple types.
Image Water Sensor (Grove 101020018) (101020018) The water sensor uses a 1M ohm pull-up resistor.The resistor will pull the sensor trace value high until a drop of water shorts the sensor trace to the ground trace.You can use it with an analog input pin to detect the amount of water in contactbetween the grounded and sensor traces.

Force

Image Load Cell (HX711) The HX711 load cell amplifier is used to get measurable data out from a load cell or strain gauge.
Image Touch Screen (XPT2046) Low level routines for controlling or interacting with the XPT2046 touch screen controller IC foundon a lot of common low cost resistive touch screen products.

Light

Image Beam Breaker Automatically sets and resets a pin depending on whether a panel object breaksthe 'light beam'.Can also send simulation notification events.
Image Colour Sensor (Grove 101020341) (101020341) Based on the color sensor TCS34725FN with digital output I2C. Based on the 8*2 array of filtered photodiodes and 16-bits analog-to-digital converters, you can gain the color chromaticity of ambient light or the color of objects. Of the 16 photodiodes, 4 have red filters, 4 have green filters, 4 have blue filters and 4 have no filter(clear). With the synchronization input pin, external pulsed light source can provides precise synchronous conversion control.
Image Colour Sensor (TCS3200) This board provides the ability to detect colours using the TCS3200 sensor. It will return RGB and W values, dependent on the colour of the object under test.
Image Infrared Array AMG88xx An 8x8 (64) Pixel infrared sensor array allowing basic none contact temperature detection.
Image Infrared Reflective Sensor (Grove 101020174) (101020174) Uses InfraRed light to detect if an external object is near to the sensor. Returns a digital signal which can represent detected or not detected states.
Image Light Sensor (Grove 101020132) (101020132) The Light sensor module is a simple analogue photo transistor.Used to detect the intensity of the indoor light.
Image PIR Motion (Grove 101020020) (101020020) PIR motion sensor component for digital output sensors.Simulates range sensitivity and output hold.
Image Photo Reflector Uses InfraRed light to detect if an external object is near to the sensor. Returns a discrete analogue signal which can represent distance from the nearest object. Useful for applications like wall following, control based systems and robotics.
Image Photo Transistor Uses InfraRed light to detect if an external object is near to the sensor. Returns a digital signal which can represent detected or not detected states. Useful for applications like line following, punched card based data systems and robotics.

Magnetic

Image Hall Effect Analog Simple analogue hall effect triggered by the proximity of another object.
Image Hall Effect Digital Simple digital hall effect on off switch triggered by the proximity of another object.
Image Reed Switch Simple on off switch triggered by the proximity of another object.

Movement & Orientation

Image Accel Gyro 6_Axis (Grove 105020012) (105020012) Combined 6-Axis Accelerometer and Gyroscope sensors.Useful for working out data such as Pitch and Roll.Can be combined with a Magnetometer to also provide Yaw.
Image Accel Gyro 6_Axis (MPU-6050) MPU-6050 Combined 6-Axis Accelerometer and Gyroscope sensors.Useful for working out data such as Pitch and Roll.Can be combined with a Magnetometer to also provide Yaw.
Image Accel Gyro Mag 9_Axis (LSM9DS1) LSM9DS1 Combined 9-Axis Accelerometer, Gyroscope and Magnetometer sensors. Useful for working out orientation data such as Pitch, Yaw and Roll.
Image Accel Gyro Mag 9_Axis (MPU9250) MPU9250 Combined 9-Axis Accelerometer, Gyroscope and Magnetometer sensors. Useful for working out orientation data such as Pitch, Yaw and Roll.
Image Accel Mag 6_Axis (LSM303D) LSM303D Combined 6-Axis Accelerometer and Magnetometer sensors. Useful for working out data such as Pitch and Yaw.
Image Accel Mag 6_Axis (LSM303DLHC) LSM303DLHC Combined 6-Axis Accelerometer and Magnetometer sensors. Useful for working out data such as Pitch and Yaw.
Image Accelerometer 3_Axis (LIS3LV02DQ) LIS3LV02DQ Accelerometer sensor with options for I2C or SPI communications. Useful for approximating Pitch and Roll or for detecting acceleration.Also available in the form of the EB068 Accelerometer E-block.
Image Gyroscope 3_Axis (L3G4200D) Interface to the L3G4200D three axis digital gyroscope. Panel GUI can be used to simulateincoming data for testing.
Image Gyroscope 3_Axis I2C (L3GD20) Interface to the L3GD20 three axis digital gyroscope. Panel GUI can be used to simulateincoming data for testing.
Image Gyroscope 3_Axis SPI (L3GD20) Allows access to a three axis digital gyroscope via an SPI interface. Useful for gaming, VR, motion control, navitagion and robotics.
Image Magnetometer (SM324) SM324 ultraprecise 24-bit smart magnetometer capable of distance measurement using a magnet. Controlled via I2C bus communications.
Image Magnetometer 3_Axis (HMC5883L) HMC5883L 3-Axis Magnetometer sensor. Useful for working out data such as compass orientation.
Image Magnetometer 3_Axis (QMC5883L) QMC5883L 3-Axis Magnetometer sensor. Useful for working out data such as compass orientation.

DSP

Image Deinterlace Allows multiple output buffers to be deinterlaced from a single input buffer.Useful for decoding multiple buffer channels sent via communications or storage.
Image Delay Allows an adjustable delay to be inserted into the DSP system
Image Fast Fourier Transform (FFT) Provides a way of converting a buffer full of time domain data into frequency domain data.The output of the FFT is a set of frequency bins which correspond to the frequencies present in the signal.The number of frequency bins is equal to half the input buffer size with each bin being responsible for a portion of the frequency up to 1/2 the nyquist.
Image Filter Filter component to allow basic filtering to be performedFilters include: LowPass, HighPass, BandPass, BandStop, FIR, IIR
Image Input ADC Allows the values from a buffer to be assigned driectly from an analog enabled pin. Either a single sample at a time or a number of samples.Auto scales the digital value to fill the entire range of the specified buffer type.
Image Input CSV Allows the values from a buffer to be collected directly from a CSV file.Either a value at a time or from an array.
Image Input Digital Allows the values from a buffer to be assigned. Either a value at a time or from an array.The input signal would usually take the form of an ADC reading or raw data values.
Image Input Digital Pin Allows the values from a buffer to be assigned from a digital input pin. The input values for high and low state can be assigned using properties.
Image Interlace Allows multiple input buffers to be interlaced together into a single output buffer.Useful for combining several streams together for sending out via communications or storing.
Image Kalman Filter Provides a way of intelligently filtering noise from data to allow for better sensor approximations.
Image Level Allows for detection and collection of peaks, troughs and averages.
Image Math Component to combine together two DSP buffers into one an index at a time.Functions include: Add, Average, Difference, Max, Min, Subtract
Image Median Collects the median value removing any potential high frequency spikes in the data.
Image Multiplex Allows multiple input buffers to be multiplexed to a single output buffer.
Image Offset Allows the values in a single buffer to be offset uniformly.Functions include: Add, Subtract
Image OnOff Control On/Off Control - Standard on off control as used on most ovens, toasters, irons.
Image Output CSV Allows the values from a buffer to be output directly into a .CSV format file. Either a value at a time or as an array.
Image Output DAC Allows the values from a buffer to be passed directly to an internal DAC output.
Image Output Digital Allows the values from a buffer to be read. Either a value at a time or as an array.
Image Output Digital Pin Allows the values from a buffer to be passed directly to a digital output pin based on a defined threshold.
Image Output PWM Allows the values from a buffer to be passed directly to an internal PWM output.
Image PID Control Control algorythm based on Proportional, Integral and Differential error.P/PI/PID - Mathematical control process to get to the setpoint as fast as possible, similar to the process in the human brain when steering a car.Used to accurately control things like motors, temperatures etc.
Image Rectifier Converts the negative elements of a signal into a mirrored positive signal.
Image Scale Allows the values in a single buffer to be scaled uniformly.Functions include: Multiply, Divide, LeftShift, RightShift, Float Multiply, Float Divide
Image Simulated Control Load Allows a simulated load to be connected to the DSP network allowing you to model external factors such asMotor Speed, Motor Position, Temperature, Humidity, Pressure, Flow etc.Useful when used with a feedback based control system.
Image Waveform Generator A waveform generator component designed to plug into the DSP system component and allow several discreet waveforms to be generated.Functions available include: Sine, Square, Pulse, Triangle, Sawtooth, Noise, Custom

Storage

Image Auto Version Identifier Basic component designed to provide the program with the date and time of the build.Embedded assigns the time and date of compilation.Simulation assigns the time and date of the start of simulation.
Image Base 64 Component to allow base 64 encoding and decoding.Sometimes when communicating raw binary data it is useful to perform base 64 encoding to ensure that noneof your data bytes trigger any escape codes or other special case conditions. Base64 converts your binary datainto readable data using standard ASCII characters so you can be fairly certain that the data you send is the same as the data that is received.
Image Circular Buffer (16_bit) Circular buffer component allowing easy and efficient first in first out (FIFO) style data storage.Also features macros to allow you to check for specific 16-bit values.
Image Circular Buffer (8_bit) Circular buffer component allowing easy and efficient first in first out (FIFO) style data byte storage.Useful when used with a comms component to capture data as it comes in ready for processing when we have time.Also features macros to allow you to check for specific incoming responses such as "OK" or "ERROR".
Image Circular Buffer (Float) Circular buffer component allowing easy and efficient first in first out (FIFO) style data storage.Also features macros to allow you to check for specific floating point values.
Image EEPROM (DS28E07) A rugged EEPROM allowing one or more devices to be addressed and accessed.Requires a One Wire component to perform the bus operations.
Image EEPROM 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.
Image Embed File A component to simplify the process of embedding files into ROM.Stores the file inside a ROM look up table.
Image File (SCADA) File component allowing access to read and write files on the local Windows file system.Only available in simulation runtime mode, cannot be downloaded to hardware.Compatible with File (SD Card) embedded component.
Image File (SDSDHC Card) File component allowing access to read and write files on a SD/SDHC card.Also compatible with micro SD/SDHC cards, please note the pin layout is subtely different for these.The component automatically detects the filesystem on the card on initialise so FAT16 and FAT32 are fully supported.When used in simulation provides read/write access to files on the local windows file system.
Image Flash EEPROM Provides an emulated version of EEPROM using the microcontrollers on-board flash program memory.Requires a microcontroller with write and erase access to the flash memory.
Image IButton (DS1990) A rugged 48-bit unique identifier allowing for unique codes for logistical tracking or device identifiers etc.Compatible with the DS1990A and DS1990R iButton devices.Requires a One Wire component to perform the bus operations.
Image Lookup tables A lookup-table component allowing an easy way to place arrays of static data into ROM memory.The LUT data is accessed directly allowing very low overhead when collecting the data.
Image Map Function The map function is intended to change one range of values into another range of values. For example.Output from a temperature sensor is in centigrade.you can map it to give the result in Fahrenheit.To do that set: InMin to 0, InMax 100, OutMin to 32 & OutMax to 212
Image Median 16_bit Component to calulate the median from a set of sample data. Provides the signal whilst removing any spikes caused by noise or other intermittent data.
Image Median 32_bit Component to calulate the median from a set of sample data. Provides the signal whilst removing any spikes caused by noise or other intermittent data.
Image Median Float Component to calulate the median from a set of sample data. Provides the signal whilst removing any spikes caused by noise or other intermittent data.
Image PIC32 Core Timer Allows for easy and accurate timings using the built in Core timer on the PIC32 devices.
Image Real Time Clock (ESP32) Allows an ESP32 device to act as a RTC with NTP type server synchronisation.Requires a WIFI network connection with internet access to synchronise.Provides simulation using local PC system time.
Image Real Time Clock (Internal, DS1307, DS3231, DS3232) A Real Time Clock component allowing things like clocks and timers to easily be created.Compatible with the internal RTCC module and external DS1307, DS3231 or DS3232 RTC ICs.
Image Real Time Clock (MCP7940N) Serial (I2C) Real Time Clock component for MCP7940N device.When used with a MIAC project this component gives access to the internal RTC (if fitted, depending upon model) and the component properties will be automatically configured.
Image STM32 Timer Allows you to measure the passage of time via the use of the STM hardware timer.Works like a stopwatch with macros to start, stop and reset the timer counter.Returns time as integer Seconds, Milliseconds and also Floating Point and String.
Image Serial EEPROM (24C16) Serial (I2C) EEPROM component for 24C01 to 24C16
Image Serial EEPROM (24C32) Serial (I2C) EEPROM component for 24C32 Can be added to a MIAC project to give read and write access to the internal non-volatile memory device (if fitted, depending upon model).
Image Serial Flash (W25) (W25) Component to allow support for the Winbond W25 range of SPI Flash devices.Compatible with various sizes of Flash including: 2Mb, 4Mb, 8Mb, 32Mb, 64Mb, 128Mb.
Image Standard Deviation A set of functions used to calculate the mean and standard deviation on a set of data samples.
Image String Initialiser A component allowing an easy way to initialise string variables using ROM memory.A simple and efficient way to populate string variables helping to save on RAM usage.Allows up to 16 strings to be stored. For additional strings simply use more String Initialiser components.
Image String Translator A simple component to allow multiple language support by substituting different strings dependingon the selected language.
Image Timed Interval Allows you to setup a specific timed interval via the use of a hardware timer peripheral.Useful for regular time accurate periodic polling and sampling.
Image Timer Allows you to measure the passage of time via the use of a hardware timer peripheral.Works like a stopwatch with macros to start, stop and reset the timer counter.Returns time as integer Seconds, Milliseconds, Microseconds and also Floating Point and String.
Image Type Conversions Component to simplify the task of converting data into different bit type variables.Allows conversion between Bytes, Ints, Longs and Floats.Useful when you need to store Ints, Longs and Floats into Byte based memory.Uses a simple 32-bit C Union to overlay the following variable types into the same RAM space.Byte[4], Int[2], Long, Float
Image WAV Library File Allows WAV files to be played or recorded using a file component to provide the data.Complete with buffer to allow for uninterrupted playback when performing other tasks.Playback compatible with analogue outputs such as DAC or PWM.Recording compatible with analogue inputs such as a Microphone.

Comms

Comms: Interface

Image CAN (Internal, MCP2515) Low level routines for controling the CAN interface either using an external MCP2515 IC and a SPI bus connectionor using an internal CAN peripheral if available on your device. Both methods will require a CAN driver IC like the MCP2551 to drive the CAN signals on the bus.
Image I2C Master Generic Two Wire I2C Communications Interface
Image I2C Slave Generic Two Wire I2C Communications Interface
Image I2S MasterSlave ESP32 Provides access to the onboard inter-IC sound (I2S) peripheras allowing for simple digital audio input and output.
Image One Wire Low level routines for controlling or interacting with a standard one wire interface.
Image One Wire (DS2482) A One Wire master transciever controlled using I2C comms.Useful for microcontroller devices where One Wire communications timings are too tight todo reliably.
Image SPI Master Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.If the hardware SPI pins are in use or more SPI channels are required then there is also a software mode available.
Image SPI Slave Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.
Image UART (RS232) Low level routines for controlling or interacting with a standard asyncronous serial interface.On a microcontroller the interface will be the onboard UART which will need voltage level shifting using a max2323 to become RS232 compatible.See the EB015 RS232 E-block for details.
Image UART Software (Timer) Creates a reliable software UART that can be driven using a timer interrupt setup by the user.The timer interrupt must be interrupting at the required baud rate. e.g 9600Hz.

Comms: IoT / Cloud

Image BBC News Easily allows you to collect the news headlines and stories from the BBC RSS feed.
Image BBC Weather Forecast Easily allows you to collect three day forecasted weather metrics for your area using the BBC Weather data service.Supports Min/Max temperature, Wind Direction, Wind Speed, Visibility, Pressure, Humidty, UV Risk, Pollution and Sun Rise/Set times for your selected area.
Image BBC Weather Observation Easily allows you to collect observed weather metrics for your area using the BBC Weather data service.Supports temperature and humidty for your selected area.Also available are Wind Direction, Wind Speed and Air Pressure but please note these are not always available depending on your selected area.
Image EtherCAT Slave (EasyCAT) Provides support for the EtherCAT Slave industrial protocol using an EasyCAT Arduino shield.The shield can be driven from a Flowcode compatible Arduino type board or can be drivenusing an Arduino using the SCADA Slave firmware to drive EtherCAT from the Flowcodesimulation runtime. Compatible with the EasyCAT Easy Configurator tool.
Image IoT Made Easy A component designed to simplify MQTT comms allowing for multiple data streams to be dealt within a simple manner. Deals with translating values to and from the broker from topic strings into message IDs and numeric values. Works with lots of different MQTT brokers.
Image MQTT Client A component providing access to MQTT IoT client.The client can connect to a MQTT server such as ThingSpeak.Allowing IoT type data to be published and read back.

Comms: Networking

Image Network Communications A component designed to simplify the process of TCP/IP communications.Compatible with most of the Flowcode supported TCP/IP and WIFI components.A useful building block for creating components such as IoT and Modbus TCP.
Image TCP Template Base TCP/IP component with simulation only interface to allow TCP/IP style network communications in simulation.Suitable for inheriting
Image TCPIP (ENC28J60) A set of routines used to control a ENC28J60 TCP/IP Module.Required connections VCC, Reset, GND, SCK, MISO, MOSI, CS.Leave these pins disconnected CLKOUT, ENC_WOL, ENC_INT
Image TCPIP (NM7010A) TCP/IP component designed to work with the WIZ3100 range of modules from Wiznet.Also available in the form of the version 1 EB023 E-block which uses the NM7010A module.
Image TCPIP (Raspberry Pi) TCP/IP sockets component for use with Raspberry Pi.Raspberry Pi Only
Image TCPIP (W5500) TCP/IP component designed to work with the W5500 device used on the ETH WIZ Click
Image TCPIP (WIZ810MJ W5100) TCP/IP component designed to work with the WIZ810MJ module or W5100 IC from Wiznet,as used on version 2 EB023 E-block and the MIAC Industrial Addon module.
Image WLAN (EB069, WIZ610wi) Wireless LAN component designed to work with the WIZ610wi module from Wiznet.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
Image WLAN (ESP-12S) Wireless LAN component designed to work with the ESP-12S module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the BL0136 WIFI E-block.
Image WLAN (ESP8266) Wireless LAN component designed to work with the ESP8266 module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
Image WLAN ESP32 (ESP32) Wireless LAN component designed to work with ESP32 modules
Image Webserver (GENERIC _ ROM FAT) Webserver component designed to work with Network Comms abstraction layer.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Webpages can be embedded into ROM or can be pulled directly from an SD card using the FAT component.
Image Webserver (NM7010A) (NM7010A) Webserver component designed to work with the NM7010A module from Wiznet,as used in the version 1 EB023 E-block.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
Image Webserver (W5500) Webserver component designed to work with the W5500 module from Wiznet, as use by the ETH WIZ Click Module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
Image Webserver (WIZ810MJ) Webserver component designed to work with the WIZ810MJ module from Wiznet,as used in the version 2 EB023 E-block and MIAC System Industrial Addon.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.

Comms: System

Image DALI Master A serial based communications protocol designed for controlling lighting, specifically digitallycontrolled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from VCC and GND to +9.5V - +25.5V and GND. The master component can addess up to 64 individual slaves & up to 16 groups.
Image DALI Slave A serial based communications protocol designed for controlling lighting, specifically digitallycontrolled dimmable fluorescent ballasts. DALI requires the signals to be level shifted from VCC and GND to +9.5V - +25.5V and GND using external circuitry.
Image DMX_512 Master A serial based communications protocol designed for controlling theatrical equipment suchas dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained together with a final 180R terminating resistor at the end of the chail. DMX requires the signalto be level shifted from VCC and GND to +2.5V and -2.5V.
Image DMX_512 Slave A serial based communications protocol designed for controlling theatrical equipment suchas dimmers, fog machines and intelligent lights. DMX-512 Slave devices are daisy chained together with a final 180R terminating resistor at the end of the chail. DMX requires the signalto be level shifted from VCC and GND to +2.5V and -2.5V.
Image I2C Multiplexer (TCA9548A) An I2C multiplexing IC allowing up to 8 different I2C busses to be connected to a singleI2C channel on your target microcontroller.
Image IO Expander (MCP23017) Provides 16 digital input/output pins arranged into two 8-bit ports using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.
Image IO Expander (MCP23S17) Provides 16 digital input/output pins arranged into two 8-bit ports using a SPI bus connection.Multiple expanders can be connected to the same SPI peripheral by means of individual chip select pins.
Image IO Expander (PCF8574) Provides 8 digital input/output pins arranged into an 8-bit port using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.Supports the PCF8574 and PCF8574A devices allowing up to 16 expanders to be connected to the same I2C bus ( 8 x PCF8574 + 8 x PCF8574A ).
Image IO Expander (PCF8575) Provides 16 digital input/output pins arranged into 8-bit ports using a I2C bus connection.Up to eight expanders can be connected to the same I2C peripheral by means of three address pins.Supports the PCF8575 device allowing up to 8 expanders to be connected to the same I2C bus.
Image MIDI Low level routines for controlling or interacting with a standard MIDI interface.
Image MULTIUART (SPI2UART) Uses a high speed SPI connection to enable up to four buffered external UARTs via the MULTIUART modules.
Image Modbus Master Modbus component for talking to Modbus compatible hardware via RS232 or RS485.
Image Modbus Master (SCADA) Modbus component for talking to Modbus compatible hardware via RS232 or RS485.
Image Modbus Slave Modbus component for creating Modbus compatible slave hardware via RS232 or RS485.
Image Modbus Slave (SCADA) Modbus component for creating Modbus compatible slave hardware via RS232 or RS485.
Image Modbus TCP Master Modbus component for talking to Modbus compatible hardware via Ethernet or WIFI.Ensure TCP/IP or WIFI component is initialised and connected to a network before calling the ModbusMasterTCP component macros.
Image Modbus TCP Slave Modbus component for creating Modbus compatible slave hardware via Ethernet or WIFI.Ensure TCP/IP or WIFI component is initialised and connected to a network before calling the ModbusSlaveTCP component macros.
Image Visi (4DSystems) A way of interacting with the VISI interface designed by 4D systems.VISI firmware must be pre-loaded onto the SD card connected to the display to allow everything to work correctly.

Comms: USB

Image USB HID Component to create and communicate using a standard HID type USB class.Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.Note that AVR is currently in Beta and may have problems with custom descriptors.
Image USB MIDI Component to create and communicate using a standard MIDI connection.Compatible with simulation and USB enabled microcontroller devices.Currently only compatible with the 16-bit PIC range of devices.
Image USB Serial Component to create and communicate using a standard CDC type COM port.Compatible with simulation and USB enabled microcontroller devices PIC/dsPIC/AVR.
Image USB Slave Component to create and communicate using a generic USB communications profile.Has the ability to allow the device to be a slave to the PC.Compatible with simulation and USB enabled microcontroller devices (PIC/dsPIC).

Wireless

Image Bluetooth (EB024, Generic AT) Low level routines for controlling a standard AT Bluetooth interface.Also available in the form of the EB024 Bluetooth E-block.
Image Bluetooth (ESP32 SPP) Bluetooth slave component designed to run on a ESP32 providing legacy SPP functionality.BT Legacy functionality must be switched on via the sdkconfig file.
Image Bluetooth (HC05 HC06) Low level routines for controlling or interacting with a HC05 or HC06 Bluetooth module.Contains functions to allow the baud rate, bluetooth name and bluetooth key to be defined.
Image Bluetooth (RN4677) Low level routines for controlling a Microchip RN4677 Bluetooth Module.Also available in the form of the BL0170 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
Image Bluetooth v2 (EB024, Generic AT) Low level routines for controlling a standard AT Bluetooth interface.Also available in the form of the EB024 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware channel.
Image GPS (EB056, Generic NMEA) Component designed to process incoming NMEA style GPS data and convert into meaningfulvalues such as longitude, lattitude, ground speed, UTC date and time.Also available in the form of the EB056 GPS E-block.
Image GSM (EB066, Generic AT) Low level routines for controlling a standard AT GSM / GPRS interfaceAlso available in the form of the EB066 GSM E-block.
Image IrDA (EB012, MCP1250, MCP2120) Low level routines for controlling a standard IrDA interface.Also available in the form of the EB012 IrDA E-block.
Image LoRa (LAMBDA, SX1272) Component to drive the LAMBDA LoRa Transciever module from RF Solutions.Uses an SPI bus connection to the microcontroller.Uses the Semtech SX1272 Transciever IC.
Image RC5 (EB060, Generic 36KHz) Low level routines for controlling a standard RC5 IR interface.Also available in the form of the EB060 RC5 E-block.
Image RF 2.4GHz (nRF24L01) A simple RF communications module based on the 2.4GHz nRF24L01 modules.
Image RF ISM (EB063, MRF49XA) A simple RF-ISM communications module based on the Microchip Alpha MRF49XA device.Also available in the form of the EB063 RF E-block.
Image RFID (EB052, RWD_MICODE) Low level routines for controlling a RF Solutions RFID interfaceAllows communications between Mifare, ICode and HiTag type RFID tags.Also available in the form of the EB052 RFID E-block.
Image RFID (MFRC522) Functions designed to work with the MFRC522 contactless reader IC.The MFRC522 supports all variants of the MIFARE Mini, MIFARE 1K, MIFARE 4K, MIFARE Ultralight, MIFARE DESFire EV1 and MIFARE Plus RF identification protocols.
Image SRF (WirelessThings) (SRF) The SRF is designed for wireless transmission and reception of serial data in an easy to use surface mounted module. It has an on-board balun and chip antenna, which can be detached for applications where an external antenna is required.
Image Zigbee (EB051, XBEE) (XBEE) Zigbee component designed to work with the XBEE range of modules from Digi.Provides a very simple interface to allow Zigbee mesh networks and communications.Also available in the form of the EB051 Zigbee E-block. Can also be used with Zigbee MIAC Addon module

Hardware

E-blocks 1

Image Accelerometer (EB068) LIS3LV02DQ Accelerometer sensor with options for I2C or SPI communications.Useful for approximating Pitch and Roll or for detecting acceleration.Also available in the form of the EB068 Accelerometer E-block.
Image Combo Board (EB083) A simulated version of the EB083 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.
Image DSP Audio Input (EB085) 16-bit external ADC connected to the microcontroller using SPI.
Image DSP Audio Output (EB086) 16-bit external DAC connected to the microcontroller using SPI.
Image E_block Helper A purely cosmetic component to help simplify E-block connections without having to keep referring to the datasheets.Specify which E-block your using and the component will give you options for the patch settings and display the connections required.
Image GLCD (EB043 v1) Graphical display component designed to work with the legacy version 1 EB043 E-blocks.
Image GLCD (EB043 v2) Graphical display component designed to work with the legacy version 2 EB043 E-blocks.
Image GLCD (EB057 / EB058) Graphical display component designed to work with the EB057 modules and EB058 E-blocks.
Image GLCD (EB075) Graphical display component designed to work with the Goldelox range of displays from 4D Systems.Also available in the form of the EB075 GLCD E-block.
Image GLCD (EB076 v2) Graphical display component designed to work with the Picaso range of displays from 4D Systems.Also available in the form of the EB076 GLCD Touchscreen E-block.Component based around the uLCD-32PTU display.
Image GLCD (EB076) Graphical display component designed to work with the Picaso range of displays from 4D Systems.Also available in the form of the EB076 GLCD Touchscreen E-block.Component based around the uLCD-32PT display.
Image Keypad (EB014) Preset keypad based around the 3 * 4 unit, as used by the Matrix EB014 E-block
Image LCD (EB005) LCD based on the unit used in the Matrix EB005 E-block
Image LED (EB004) An LED matrix made up of standard PCB mount 5mm LEDs.
Image SPI Master (EB013) Low level routines for controlling or interacting with an SPI interface.SPI or Serial Peripheral Interface is a bus used for board level communications between devices.A target microcontroller will usually have at least one hardware SPI peripheral built in.If the hardware SPI pins are in use or more SPI channels are required then there is also a software mode available.Has additional functions to work with the E-blocks EB013 SPI hardware.
Image Switch (EB007) An array of up to eight momentary push switches, each connected to a single pin of the specified port.
Image TCPIP (EB023 v1) TCP/IP component designed to work with the WIZ3100 range of modules from Wiznet.Also available in the form of the version 1 EB023 E-block which uses the NM7010A module.
Image TCPIP (EB023 v2) TCP/IP component designed to work with the WIZ810MJ module from Wiznet,as used on version 2 EB023 E-block and the MIAC Industrial Addon module.
Image Touch Pads (EB088) This board provides five touch areas for use with capacitive sensing. Hence five digital touch switches can be implemented. This component directly interfaces with the EB088 CapTouch E-block.
Image WIFI (EB069 v2) Wireless LAN component designed to work with the ESP8266 module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the EB069 E-block.
Image Webserver (EB023 v1) Webserver component designed to work with the NM7010A module from Wiznet,as used in the version 1 EB023 E-block.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.
Image Webserver (EB023 v2) Webserver component designed to work with the WIZ810MJ module from Wiznet,as used in the version 2 EB023 E-block and MIAC System Industrial Addon.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.

E-blocks 2

Image Bluetooth (BL0170) Low level routines for controlling a Microchip RN4677 Bluetooth Module.Also available in the form of the BL0170 Bluetooth E-block.Uses an interrupt to receive characters from the UART and improve reliability, Must be used with a hardware UART channel.
Image Colour GLCD (BL0157) Graphical display component designed to work with the BL0157 E-block.Based on the ILI9163C 16-bit colour graphical controller IC.
Image Combo (BL0114) A component to drive the BL0114 Combo board including LEDs, Switches, LCD, 7-Segs and analogue inputs.
Image E_block 2 Helper A purely cosmetic component to help simplify E-block 2 connections without having to keep referring to the datasheets.Specify which E-block 2 board your using and the component will display the connections required.
Image GLCD Monochrome (BL0139) Graphical display component designed to work with the EB2 BL0139 Downstream E-block.
Image IO Expander (BL0155) Provides 16 digital input/output pins arranged into two 8-bit E-block 2 ports using a SPI bus connection.
Image Keypad (BL0138) Keypad component to drive the E-blocks 2 BL0138 Keypad board.Provides twelve individual raster scanned switches.
Image LCD (BL0169) LCD component to drive the E-blocks 2 BL0169 LCD board.Provides a 4 x 20 character alphanumeric display.
Image LED (BL0167) LED component to drive the E-blocks 2 BL0167 LED board.Provides eight individually addressable LEDs.
Image RFID (BL0197) Low level routines for controlling a BL0197 RFID E-block 2 board.Complete with macros to control the tag type and buzzer parameters.
Image Servo Motor (BL0162) Servo motor component to drive the E-blocks 2 BL0162 Servo Motors board.Provides up to eight individually addressable connections for standard DC servo motors to be connected.
Image Switch (BL0145) A set of 8 push switches that can be connected to an E-blocks 2 upstream board via a port connector.Switches are wired in an active high configuration.
Image WIFI (BL0136) Wireless LAN component designed to work with the ESP-12S module.Provides a very simple interface to allow webpages to be hosted from hardware or simulation.Also available in the form of the BL0136 WIFI E-block.

EBM Modules

Image Accel Mag 6_Axis (EBM015) EBM015 Combined 6-Axis Accelerometer and Magnetometer sensorsUseful for working out data such as Pitch and Yaw.
Image Colour Sensor (EBM018) This board provides the ability to detect colours using the TCS3200 sensor. It will return RGB and W values, dependent on the colour of the object under test.
Image Digital Temperature (EBM004) A digital temperature sensor based around the LM75B chip.
Image Dual Potentiometer _ Trimmer (EBM006) This board provides two rotary potentiometers. This component directly interfaces with the EBM006 Dual Trimmers sensors board.
Image GLCD (EBM001) Graphical display component designed to work with the EBM001 modules and EB084 E-blocks.Based on the ILI9163C 16-bit colour graphical controller IC.
Image Gyroscope (EBM009) Interface to the L3G4200D three axis digital gyroscope. Panel GUI can be used to simulateincoming data for testing.
Image Hall Effect (EBM011) The board has a Hall Effect sensor (SL353) that gives a digital output in the presence of a magnetic field (in the region of 60 Gauss) from a permanent magnet or electromagnet, either North or South pole.
Image Humidity (EBM016) Humidity and temperature sensor using an SHT21 IC connected via I2C - as used by theMatrix e-block module EBM016.On screen GUI allows temperature and humidity values to be simulated, and will show allI2C communication in a console window.
Image Infrared (EBM020) The Infrared sensor board contains both an IR transmitter and receiver. The transmitter is enabled via a digital control signal and the receiver provides an analogue output. By enabling the transmitter and reading the variable voltage output of the receiver it is possible to measure the distance of a reflecting object in the region of 1cm to 10cm.
Image PIR (EBM012) This board provides a PIR sensor which is read as a digital input.
Image Potentiometer (EBM002) This board consists of a standard shaft rotary potentiometer that provides a linear voltage output ranging between the microcontroller power rails. This can be connected to an Analogue to Digital input of the microcontroller in order to provide a control value.
Image Rotary Encoder (EBM007) Provides a rotary encoder with dual digital outputs that provide rotation and direction information. When connected to two digital inputs of a microcontroller a “digital pot” can be implemented to convert to digital values.
Image Thermistor (EBM003) A generic thermistor component that can be used to simulate and create code for anythermistor with a known temperature/resistance curve. Thermistor is connected in a simplepotential divider circuit - thermistor between ADC input and 0V, and a fixed resistor betweenADC and the positive supply. The component is also used with the EBM003 module, in whichcase the extra circuitry is already included. Default calibration is for the EBM003 module.
Image Thermocouple TypeK (EBM008) A component matchin the Matrix EBM008 thermocouple board. As well as an interface toa standard TypeK thermocouple, this also includes a thermistor that is used for cold junctioncompensation.
Image Touch Pads (EBM013) This board provides two touch areas for use with capacitive sensing. Hence two digital touch switches can be implemented. This component directly interfaces with the EBM013 Sensors board.
Image Touch Slider (EBM014) This board provides two touch slide areas for use with capacitive sensing. Therefore,two digital touch slideers can be implemented. This component directly interfaces with the EBM014 Sensors board.
Image Ultrasonic (EBM019) This board has both an ultrasonic transmitter and receiver. The transmitter is driven by an on-board 40KHz oscillator which is enabled by the host microprocessor. The receiving sensor signal is amplified and provided as an analogue signal to be processed by a single channel ADC of the microprocessor. By measuring the time delay between enabling a transmit pulse and receiving an echo the distance of objects in a range of around 3cm to 3m can be determined.

MIAC Module

Image MIAC (Arduino_Compatible) (MIAC (Arduino-Compatible)) MIAC - Matrix Industrial Automotive Controller (Arduino-Compatible)
Image MIAC (PIC) MIAC - Matrix Industrial Automotive ControllerPLC type module based on a PIC18F4455 device, produced by MatrixComponent includes functions to drive the functionality of the MIAC and MIAC system.
Image MIAC (dsPIC) (MIAC (dsPIC)) MIAC - Matrix Industrial Automotive Controller (dsPIC)

MIAC: Addon Modules

Image MIAC (PIC) CAN Slave MIAC Slave for MIAC System. Requires Slave firmware program downloaded to a MIAC (PIC) to act as a CAN connected Slave device.
Image MIAC Advanced Advanced Addon for MIAC System
Image MIAC Basic Basic Addon expansion module for MIAC System
Image MIAC Bluetooth Bluetooth Addon for MIAC System
Image MIAC GPS GPS Addon expansion module for MIAC System
Image MIAC GSM GSM Addon for MIAC System.
Image MIAC Industrial MIAC Industrial Addon component for MIAC System.Add (WIZ810MJ) TCP/IP or Webserver component to the panel to add functionality.
Image MIAC Serial Serial Addon expansion module for MIAC System
Image MIAC Zigbee Coordinator MIAC Zigbee Coordinator Addon component for MIAC System.Add the Zigbee component to the panel to add functionality.
Image MIAC Zigbee Router MIAC Zigbee Router Addon component for MIAC System.Add the Zigbee component to the panel to add functionality.

Misc Circuit

Image LED Cube LED Cube component for driving 3D arrays of LEDs. A typical cube could consist of 4x4x4 or 8x8x8 but does not necessarily need to be a cuboid.
Image RGB Xmas Tree Component complete with macros and simultion to drive the MatrixTSL RGB Xmas Tree decoration.

Raspberry Pi Hat

Image Sense Hat A component to drive various features on the Raspberry Pi Sense Hat.Supported Features: 8x8 RGB LED / 5-Way Joystick

Robotics

Image Formula AllCode (RB4420) A component to allow all the features of the Formula AllCode robot to be investigated.Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.
Image Formula Flowcode A component to allow all the features of the Formula Flowcode robot to be investigated.Fully simulated component which can interact with simulated objects on the panel as well as control the real hardware.

API

API Slave Devices

Image API (Arduino Mega) Connects to an Arduino Mega running the SCADA Arduino Mega Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / UART / PWM
Image API (Arduino Uno) Connects to an Arduino Uno running the SCADA Arduino Uno Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM
Image API (BL0032) Connects to an BL0032 running the SCADA BL0032 Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / UART / PWM
Image API (ECIO28P) Connects to an ECIO28P running the SCADA ECIO28P Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART
Image API (ECIO40P) Connects to an ECIO40P running the SCADA ECIO40P Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART
Image API (ESP32) Connects to a ESP32 running the SCADA RPI Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART
Image API (Interface Board) Connects to a Embeddded Interface Board running the SCADA Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / ADC / I2C / SPI / PWM / UART / DAC / Servo.

See Instructables for open source project files.

Image API (RPI) Connects to a Raspberry Pi running the SCADA RPI Firmware allowing the board to become a slave to the flowcode simulation runtime.Supports: Digital IO / I2C / SPI / PWM / UART

AllCode

Image Control Drives the Matrix Control hardware via the AllCode API.
Image Electrical Machines A set of functions to communicate with the Matrix EM hardware. Allows the functions to be easily standardised across all SCADA programs.
Image Formula AllCode API A simulation only component to allow the Formula AllCode robot to be controlled via it's API interface and Bluetooth data connection without having to compile or re-program the robot.
Image MIAC AllCode API (dsPIC) MIAC AllCode.dsPIC version of the MIAC loaded with the AllCode firmware.Usefull for SCADA, Control or Test applications.Allows you to control the MIAC using the programming language of choice.Compatible with simulation / Bluetooth / Wifi / RS232 and RS485
Image MIAC USB Slave API (PIC) Allows Matrix's MIAC PLC to be used as a PC peripheral controlled by Flowcode via a USBconnection. Requires that the MIAC (PIC) has the USB Slave firmware downloaded to it.
Image Robot Arm AllCode API Matrix 5-axis Robot Arm with Gripper.Compatible with the Matrix Robot ARM Training Curriculum and Hardware.Features gripper pressure sensor, light sensor, colour sensor, Potentiometer, Magnetic sensor.
Image Robot Arm v2 Drives the Matrix Robot Arm v2 hardware via the AllCode API.Allows connections via USB, Bluetooth and WIFI.

Comms Data Injectors

Image Injector (AT) Comms data injector to replicate basic AT command syntax.

The component will record each incoming character until the termination character is received. Once this happens the component will respond by echoing back the received data followed by an "OK" reply.

Image Injector (COM) Comms data injector to allow a COM port peripheral to be attached to a comms component.

The component will forward any outgoing bytes to the COM port and forward any incoming bytes to the comms component. Useful for controlling hardware such as Bluetooth, RS232, USB to Serial, MODBUS...

Image Injector (File) Comms data injector to allow data to be streamed to and from a file during simulation.

The component will read data from the incoming file and write data to the outgoing file.

Image Injector (Human Interface) Comms data injector to allow typed data values to be inserted into a component.

Allows data to be input in raw ASCII form or as numeric byte data 0-255.

Image Injector (SCADA Slave Analog Input) Data injector to allow a physical analog input pin to be attached to a simulated component.

The component will poll for any input state changes via SCADA Slave enabled hardware. Enabling the Flowcode simulation runtime to directly interface with a physical I/O pin.

Image Injector (SCADA Slave Digital Input) Data injector to allow a physical digital input pin to be attached to a simulated component.

The component will poll for any input state changes via SCADA Slave enabled hardware. Enabling the Flowcode simulation runtime to directly interface with a physical I/O pin.

Image Injector (SCADA Slave Digital Output) Data injector to allow a physical digital output pin to be attached to a simulated component.

The component will forward any output state changes through to a SCADA Slave enabled hardware. Enabling the Flowcode simulation runtime to directly interface with a physical I/O pin.

Image Injector (Flowcode vNet) Comms data injector to allow components to talk to each other between instances of Flowcode.

The injector allows the data to be sent and received between multiple instances of Flowcode either running on a single machine, across a network or via the internet.

Third Party

Image FTDI (FTD2XX) Simulation only interface to allow communications with a FTDI USB 232 IC connected to the system.For more details refer to the D2XX_Programmers_Guide from FTDI.
Image K8055D Support for the Velleman K8055 USB input/output board.Allows Flowcode to communicate with up to four K8055 boards, or to simulate them withinteractive on-screen controls. All digital and analog I/O functions are supported.
Image PicoScope (PS2000) A set of functions designed for interacting with a 2000 series Pico scope via simulation.
Image TTI Power Supply _ PL155_P (TTI PL155-P PSU) TTI PL155-P Power Supply Unit Component. 15V - 5A
Image TTI TG5011 Signal Generator (TG5011) TTi TG5011 50 MHz Signal Generator

Runtime

Controls

Image Circular Knob A circular 2d knob component.
Image Control Knob Rotary control designed for SCADA.Has customisable value markings around the control.Simulation only.
Image Image Switch A simple simulation only switch capable of displaying an image and with a coloured border to make it easy to tell when the switch is being clicked.
Image Joystick A simple joystick component allowing for easy mouse or touchscreen based analogue control.
Image LinearSlider A linear 2d slider component.
Image Simulation Switch Template A base for building switches that do not download to chip.Mouse interaction can send 'System.User' events with the following data...ID = The handle of the switch component sending the messageMessage = 1 (on) or 0 (off)Current state can also be read via simulation macros.
Image Switch A 2d switch component.

Indicators

Image Circular Gauge A circular 2d gauge component.
Image Console Writer A simple component to aid in creating and wiriting data to a console tab.
Image Indicator Gauge Simulation only round gauge/dial for SCADA applications. The range of values displayed is easily adjusted.
Image Indicator Meter Square analogue panel meter.A simulation only component - the needle value is set solely by the 'SetValue' macro.
Image LinearGauge A linear 2d gauge component.
Image Logo Indicator A simple component to display multiple icons relating to the state of a machine or process.Includes icons such as: tick, cross, alert, stop, go and coloured lights.
Image Numeric Display Allows a numeric value to be displayed on the user panel using virtual 7 seg displays.Used for displaying the value of a variable during simulation runtime.Provides up to 5 customisable ranges to automatically alter the colour of the label based on the value.
Image Numeric Indicator A 2d numeric indicator component.
Image Numeric Label Allows a numeric label to be displayed on the user panel.Used for displaying the value of a variable during simulation runtime.Provides up to 5 customisable ranges to automatically alter the colour of the label based on the value.
Image Simulation LED Template Base for creating simulation LEDs and other on/off visual indicators.Choose a 'Target Object' that will change colour when the pin changes;if multiple objects must change color, group them, and target the group.When 'Auto off color" is selected, changing the 'on color' will automaticallychoose an off color by reducing the intensity of the on color.
Image Speech (RealSpeak) Advanced speech engine allowing realistic text to speech in multiple languages using the RealSpeak voice engine.Available in simulation only.
Image StaticText A text component for the 2d panel.
Image String Label Allows a numeric label to be displayed on the user panel.Used for displaying the value of a variable during simulation runtime.Provides up to 5 customisable ranges to automatically alter the colour of the label based on the value.

Matrix Tools

Image Device Helper A purely cosmetic component for viewing the details specific to your current selected target microcontroller.Lists stats like ADC resolution, ADC channels, UARTs, SPI, PWM, RAM, ROM etc
Image FCD helper A helper control to query the current Flowcode definition XML file.
Image IntOsc Helper A component to help configure the speed of the internal oscillator.Currently only supports 8-bit PIC devices.
Image Is Sim A simple component designed to aid in detecting if the current code is running in simulation or on a microcontroller.

Runtime Tools

Image COM Port Serial based simulation component for use with systems such as RS232, Bluetooth and USB Serial.
Image CSV ReadWrite A component to simplify the task of creating and dumping data to a CSV file that can be loadedinto Microcoft Excel or LibreOffice Math to create nice charts and graphs.
Image Console Debugger (Raspberry Pi) Component to allow printing debug messages to the Raspberry Pi Console.When simulation the component will print the debug messages to the Console window.Raspberry Pi Only
Image Console User Input Allows data to be input via a console tab in raw ASCII form or as numeric byte data 0-255.
Image Dashboard Text A simulation only text box that can be used to display text and numbers.
Image Data Recorder Setup A component to allow data from analogue and digital pins to be displayed on the scope window.Compatible with simulation and for showing ICT based debug data.
Image Event Log A simulation component designed to create a simple log record of events in your SCADA system.Logs to a file and / or to a console tab including optional automated time stamp.
Image Input Message Box Creates simple dialogue boxes to collect information from a user.Available with multiple button options, OK, Yes / No / Cancel and User String input.
Image Keyboard Component to allow you to get direct input from the keyboard. Specific keys can be polled to test if they are pressed and provide interaction with the runtime panel.
Image Message Box Creates simple dialogue message box to present a message to a user.
Image Mouse A component to read the mouse buttons or position of the cursor on the screen.
Image Panel Console Viewer An easy way to display the data from a console on the panel.Links to a component that generates console data.
Image Property Manager Allows property values exposed to the user to be saved and loaded using an external file.Simplifies the process of storing and retreiving the property values.Also works with nested properties using the "::" syntax.
Image Serial Monitor Allows data from a COM port to be piped through to the console window for easy program status and debugging.
Image Simulation External Input A simulation only component designed to allow a single digital pin to be toggled at a set frequency.Allows things like switch presses or external square waves to be used with the simulation.
Image Time Stamp A simple simulation component to collect the current system timestamp as a string.
Image Timed Event Trigger Component that will check to see if a predetermined amount of time has passed.Useful for doing things on a regular basis, e.g. every minute or every hour.
Image Tone Generator A component to generate simple mono tone audio tones for use in alarms or other audible feedback.
Image XML JSON Parser A component designed to simplify the collection of data from XML and JSON sources.Parses the raw data and creates a dynamic representation of the data that is easy to navigate and interrogate.Also allows the objects to be manually created or edited and then re-exported as XML or JSON format.

Scenarios

Image 3D Printer A simulation only version of a very basic 3D printer such as a standard RepRap.
Image Airplane Landing Gear A simulation of an Airplane Landing Gear containing, switches, locking mechanisms and retracting landing gear.
Image CNC Machine A CNC Machine that allows for simulation movement in the X, Y, Z directions and also providing access to the Drill.
Image Car Seat An electric car seat chassis with a series of motors and sensors. Students should workthrough exercises to learn the principles of electric car seats including how to saveand load memory positions.
Image Daytona Racetrack (HP458) A simple race course for the Formula Flowcode and Formula AllCode robot buggies. Using Matrix product HP458, users are able to construct an exact replica of this course.
Image Maze Generator (HP458) Creates a simulation only randomised maze out of standard micromouse maze walls and pillars.Compatible with the Formula Flowcode robot.
Image Pedestrian Crossing A set of pedestrian crossing lights complete with manual light control, a simple state machine and anautomatic mode to allow the lights to take care of themselves.
Image Sheep Pen A simple sheep pen simulation with two gates and two sensors.Allows for simple logical control to try and move all the sheep from one pen to another.
Image Traffic Light 1_Way A set of one way traffic lights complete with manual light control, a simple state machine and anautomatic mode to allow the lights to take care of themselves.
Image Traffic Light 2_Way A set of two way traffic lights complete with manual light control, a simple state machine and anautomatic mode to allow the lights to take care of themselves.

Creation

2D Shapes

Image Ellipse A basic ellipse primitive shape.
Image Label A basic text label.
Image Line A basic line primitive shape.
Image Rectangle A basic rectangle primitive shape.
Image Rounded rectangle A basic rounded rectangle primitive shape.
Image Textbox A basic textbox.

3D Shapes

Image Bowl A basic bowl primitive shape.
Image Cone A basic cone primitive shape.
Image Cuboid A basic cuboid primitive shape.
Image Cylinder A basic cylinder primitive shape.
Image Diamond A basic diamond primitive shape.
Image Hemisphere A basic hemisphere primitive shape.
Image Honeycomb A basic honeycomb primitive shape.
Image Prism A basic prism primitive shape.
Image Pyramid A basic pyramid primitive shape.
Image Sphere A basic sphere primitive shape.
Image Tube A basic tube primitive shape.

Advanced Shapes

Image Bezel Radiused A purely cosmetic component for creating smoothly radiused bezel or frame to fit around other components, or to define the edges of panel sections.
Image Component Label Add a label to a component by including this component as a sub-component.The label will always face the viewer and move with its parent object.Text for the label is automatically read from the host component's name or any chosenproperty.
Image Component Labels Automatically generates labels for all panel objects and components in a given context.Labels will always face the camera, and can show the name of each object, or any chosenproperty. Nesting can be used so that components within components are labelled, and so on.
Image Marking control A control to draw markings on any component
Image Meter Square Square analogue panel meter.A simulation only component - the needle value is set solely by the 'SetValue' macro.
Image RxTx Flasher Simple indicator panel intended as a sub-component of communications components.The two arrow shapes can be set to flash by the host component to represent incoming andoutgoing data packets.The panel can be labelled and use a custom icon for easy identification. The icon areacan be set to open a pre-defined console window when clicked.LEDs can also be flashed by sending the component a User Notify event. Event'Message ID' is ignored. Data should be: 1, to flash to Rx LED or 2 to flash the Tx LED.
Image Scale Arc Template A base component for drawing circular dials. This allows a simple way to create graduatedand labelled dials, for example, within meter and rotary control components.Mouse handling is built in for ease of building interactive controls.
Image Scale Linear Template A base component for drawing scales on horizontal or vertical strips.Can be used to simplify the building of rulers, meters and slider controls. Mouse handlingis built in for easy construction of interactive controls.
Image Simulation 7 Seg Simulated single digit seven segment display.LED colour can be changed in properties.
Image Slider control A simple graphical interface for a vertical meter or slider control. This can be used withincustom components to give them a way to display an analogue value, or to allow settinga value by clicking and dragging with the mouse.
Image Target Chip A cosmetic only representation of the target microcontoller device showing the default package type complete with pins.

Industrial

Image Digital Valve A simple digital valve that can be either open or closed. The valve has component macros to set and get the current state of the valve.The valve can be initialised to be open or closed when starting.The valve can be clicked to open or close via the runtime.Compatible with SCADA interconnecting pipe components.
Image Fan Pump A simple rotating fan or pump.The component has macros to set and get the current rotational speed.Compatible with SCADA interconnecting pipe components.
Image Hopper A simple hopper that can be used to store produce.The hopper has component macros to set and get the current level of produce.The hopper can be initialised to be full or empty when starting.Compatible with SCADA interconnecting pipe components.
Image Pipe A Pipe Component
Image Right Angle Pipe A Right Angle Component For Connecting Pipes Around Corners

Misc Shapes

Image Wood Fence A simple wooden fence used to create simple walls and pens for simulations.
Image Wood Gate A simple gate that can be opened and closed via simulation macros.Used to control the flow of objects in the Flowcode simulator.

Modelling Components

Image Animator Basic animation and physics simulation for a single object.The target object can be set in motion by a simulation macro call, and will then continue inmotion under the control of the animator.Boundaries can be set beyond which the object cannot move, and the behaviour of the object defined when it meets them.Simple simulation of gravity and friction are also possible.
Image Clone Matrix Takes a single object and produces a three dimensional array of evenly spaced clones.Inidividual items in the array can be found from their position and individually modifiedafter the array has been created.
Image Motion Helper Helper for building components which require simulation of constant motion.Linked objects can be issued speed and acceleration parameters, and will thenbe animated automatically until another command is issued.The helper can control motion for up to four objects simultaneously, all with theirown discrete motion settings.

Peripheral CAL (Code Abstraction Layer)

Image ADC (CAL) A low level implementation giving direct access to the analogue to digital converter peripheral.
Image CAN (CAL) Low level routines for controling the internal CAN peripheral.
Image DMA (CAL) A low level implementation giving direct access to DMA routines.
Image EEPROM (CAL) A low level implementation giving direct access to the EEPROM peripheral.
Image FLASH (CAL) A low level implementation giving direct access to Flash read and write routines.
Image HBRIDGE (CAL) A low level implementation giving direct access to the H-Bridge peripheral.Currently only supports compatible 8-bit PIC devices.
Image I2C (CAL) A low level implementation giving direct access to the Two Wire I²C peripheral. Includes simulation functionality to commmunicate via a COM port or an API component.
Image PWM (CAL) CAL = Code Abstraction Layer - Allows one code base to run on a wide range of chips.A low level implementation giving direct access to the Pulse Width Modulation peripheral.
Image SPI (CAL) A low level implementation giving direct access to the Serial Peripheral Interface peripheral. Includes simulation functionality to commmunicate via a COM port or an API component.
Image UART (CAL) A low level implementation giving direct access to the UART peripheral. Includes simulation functionality to commmunicate via a COM port or an API component. Also includes timestamped logging via the console and Data Recorder trace monitoring support.
Image UART SCADA (CAL) A low level implementation giving direct access to the UART peripheral. Includes simulation functionality to commmunicate via a COM port or an API component. Also includes timestamped logging via the console and Data Recorder trace monitoring support.