The CAL (Code Abstraction Layer) components are designed to simplify the creation of controller programs or other related components.
They encapsulate the internal functionality of the supported micro-controller device features.
In this way your Flowcode program, or component, uses a consistent interface to the functionality irrespective of the actual target micro-controller device.
Information on using CAL components to make your own component is available from here: Using CAL Components.
The ADC (CAL) component enables you to use any available ADC (Analogue to Digital Converter) functionality of the target device in a simplified way. Via this component a voltage present on an analogue input can be read as a digital value. This enables your project to include analogue inputs from potentiometers through to more complex measuring instruments and sensors that output an analogue voltage.
The ADC CAL component is the basis of other ADC components that then further add visual effects to aid simulation, such as representing the analogue input as sliders or dials.
The CAN (CAL) component enables simplified use of, if available, the CAN (Controller Area Network) functionality of the target device.
A CAN is a rugged digital serial communications bus and is designed specifically to allow micro-controllers and devices to communicate with each other within a vehicle.
Devices typically used in CAN networks mainly consist of sensors, actuators and other control devices which are connected through a host processor and CAN controller and not directly through the bus.
CAN features an automatic arbitration-free transmission. A CAN message that is transmitted with highest priority will succeed, and the node transmitting the lower priority message will sense this and back off and wait. Message IDs must be unique on a single CAN bus, otherwise two nodes would continue transmission beyond the end of the arbitration field (ID) causing an error.
The EEPROM (CAL) component provides a common application interface to any on-board EEPROM (Electrically Erasable Programmable Read-Only Memory) such that it can easily be used for non-volatile data and parameter storage. EEPROMs are used to store and save data when the power is removed, this is important to use to store calibration tables or device configuration.
There are different types of electrical interfaces to EEPROM devices which consist of two main categories, serial bus and parallel bus. The most common serial interface types are SPI, I2C, Microwire, UNI/O, and 1-Wire.
EEPROM memory is used to enable features in other types of products aren't strictly memory products, e.g. real-time clocks, digital potentiometers, digital temperature sensors etc.
The I2C (CAL) component provides a I2C (Inter-Integrated Circuit) channel by either interfacing with a microcontroller based hardware feature or by using the I/O pins of the microcontroller driven in software mode.
An I2C is an synchronous serial communication device that has a data (SDA) and clock (SCL). The bus usually requires external pull up resistors or internal weak pull ups to work correctly.
The PWM (CAL) component provides a PWM (Pulse Width Modulation) channel by interfacing with a microcontroller based hardware feature.
The SPI (CAL) component provides a SPI (Serial Peripheral Interface) channel by either interfacing with a microcontroller based hardware feature or by using the I/O pins of the microcontroller driven in software mode.
An SPI is an synchronous serial communication device that has a data out (SDO), a data in (SDI), a clock (SCK) and a chip select (CS). The bus has a specific master device and one or more slave device. The data out of the master device is connected to the data in of the slave device, this connection is known as MOSI (Master Out Slave In). The data in of the master device is connected to the data out of the slave device, this connection is known as MISO (Master In Slave Out).
The UART (CAL) component provides a UART (Universal Asynchronous Receiver/Transmitter) channel by either interfacing with a microcontroller based hardware feature or by using the I/O pins of the microcontroller driven in software mode.
A UART is an asynchronous serial communication device that has a Transmit output, a Receive input and optionally additional handshake lines such as CTS (Clear To Send) and RTS (Request To Send). The TX pin of one device must be connected to the RX pin of the other device and visa versa.
A UART is typically used to transmit and receive data over longer distances, in which case electric signalling levels and methods are applied external to the UART. These are implemented in the form of communication standards such as RS-232 and RS-485. The choice of standard depends upon requirements such as distance, noise immunity, Full-Duplex transfer ability etc. The UART can also be used for short distances in a raw TTL form.