MSPM0 SDK Examples Guide¶
1. Introduction¶
The MSPM0 SDK is packaged with a wide selection of code examples to enable engineers to develop applications on Texas Instruments’ MSPM0 family of microcontrollers.
The examples folder is divided into RTOS and non-RTOS subfolders (currently only non-RTOS is supported). These folders contain examples for each LaunchPad and are organized based on function with lower-level Driverlib examples, higher-level TI Drivers examples, and examples for middleware such as GUI Composer, LIN, IQMath, and others.
Some examples support SysConfig to simplify the device configuration and accelerate software development. Refer to the SDK QuickStart guide for more details on how to get started using SysConfig, and look for the SysConfig symbol in the sections below.
2. MSPM0 SDK Examples¶
2.1 Demos¶
The MSPM0 SDK includes several demos to showcase the functionalities of various devices.
Each demo is packaged with its own documentation, full source code, and project files for different supported IDEs and compilers, making the demos easy to use.
Stay tuned for more examples and functionality.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
blood_pressure_monitor | Blood Pressure Monitor demos | N | Y | N | N |
bq7690x_control_i2c | Demonstrate BQ7690x control through I2C | N | N | N | |
bq769x2_control_i2c | Demonstrate BQ769x2 control through I2C | N | N | ||
dualray_smoke_detector | Dualray smoke detector demo | N | N | N | |
lcd_multi_port | 1-wire target emulating a EEPROM interface | N | N | N | |
lcd_single_port | 1-wire target emulating a EEPROM interface | N | N | ||
one_wire | 1-wire target emulating a EEPROM interface | N | N | N | |
out_of_box | Out of Box experience for MSPM0 LaunchPads | Y | Y | Y | N |
pir_motion_detection | PIR Motion Detection using integrated OPA for the signal chain | N | N | N | |
pulse_oximeter | Pulse oximeter demos | N | N | N |
2.2 DriverLib¶
DriverLib is a set of low level drivers providing an API for accessing MSPM0 registers and full device functionality.
The examples below use the Driverlib API to demonstrate the device functionality and range from simple use cases such as toggling a GPIO output pin to more complex use cases where multiple device peripherals are used.
Each example is packaged with its own documentation, full source code, and project files for different supported IDEs and compilers, making the examples easy to use.
2.2.1 AES Accelerator (AES)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
aes_cbc_256_enc_dec | AES256 CBC encryption and decryption example | N | N | N | |
aes_cfb_256_decrypt | AES CFB 256 bit decryption example | N | N | N | |
aes_ofb_128_encrypt | AES OFB 128 bit encryption example | N | N | N |
2.2.2 AESADV¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
aesadv_ecb_256_encrypt | Performs 256-bit AES ECB encryption using the on-board AESADV engine with a software wrapper | N | N | N | Y |
2.2.3 Analog-to-Digital Converter (ADC)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
adc12_14bit_resolution | ADC12 conversion at maximum frequency using DMA with hardware averaging enabled | ||||
adc12_internal_temp_sensor_mathacl | ADC12 samples internal temperature sensor and converts reading to Celsius and Fahrenheit degrees | N | N | N | |
adc12_max_freq_dma | ADC12 conversion at maximum frequency using DMA | ||||
adc12_max_freq_dma_8bit | ADC12 conversion at maximum frequency using DMA in 8 bit resolution | ||||
adc12_monitor_supply | ADC12 monitors voltage supply channel | ||||
adc12_sequence_conversion | Demonstrate configuring ADC to trigger sequence of conversions on 4 different channels | N | |||
adc12_simultaneous_trigger_event | Dual ADC12 conversion triggered by a Timer event | N | N | N | |
adc12_simultaneous_trigger_event_stop | Dual ADC12 conversion triggered by a Timer event while in STOP mode | N | N | N | |
adc12_single_conversion | ADC12 simple single conversion triggered by software | ||||
adc12_single_conversion_vref_external | ADC12 single conversion triggered by software using external reference | N | |||
adc12_single_conversion_vref_internal | ADC12 single conversion triggered by software using internal VREF | ||||
adc12_triggered_by_timer_event | ADC12 conversion triggered by a Timer event | ||||
adc12_triggered_by_timer_event_stop | ADC12 conversion triggered by a Timer event while in STOP mode | ||||
adc12_window_comparator | ADC12 single conversion in repeat mode using window comparator feature |
2.2.4 CRCP¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
crcp_calculate_checksum | CRCP16 checksum calculation of a memory block | N | N | N | |
crcp_calculate_checksum_dma | CRCP16 checksum calculation of a memory block using DMA block transfer | N | N | N |
2.2.5 Comparator (COMP)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
comp_analog_filter | Comparator using external inputs with hysteresis and output analog filter | N | |||
comp_dac_to_timer_event | Comparator output using 8-bit DAC triggers a timer event to measure timing | N | |||
comp_hs_dac_vref_external | Comparator in high-speed mode using 8-bit DAC with external VREF | N | |||
comp_hs_tima_pwm_fault | Comparator in high-speed mode triggers a TIMA fault | N | N | N | |
comp_lp_dac_vref_internal | Comparator in low-power mode using 8-bit DAC with internal VREF | N | N | N |
2.2.6 Controller Area Network (CAN)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
mcan_loopback | MCAN transmits and receives messages using loopback mode | N | N | N | |
mcan_message_rx | Example configured to receive CAN and CAN-FD frames | N | N | N | |
mcan_message_rx_tcan114x | Example configured to receive CAN and CAN-FD frames using BOOSTXL-TCAN1145 boosterpack. | N | N | N | |
mcan_multi_message_tx | CAN-FD transmits two messages with unique ID on GPIO interrupt | N | N | N | |
mcan_multi_message_tx_tcan114x | CAN-FD transmits two messages with unique ID on GPIO interrupt using BOOSTXL-TCAN1145 boosterpack. | N | N | N | |
mcan_single_message_tx | CAN-FD transmits a single message on GPIO interrupt | N | N | N |
2.2.7 Cyclic Redundancy Check (CRC)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
crc_calculate_checksum | CRC checksum calculation of a memory block | N | |||
crc_calculate_checksum_dma | CRC32 checksum calculation of a memory block using DMA block transfer | N | N |
2.2.8 Digital-to-Analog Converter (DAC)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
dac12_dma_sampletimegen | DAC12 using DMA with sample time generator to generate sine wave | N | N | N | |
dac12_fifo_sampletimegen | DAC12 sending repetitive signal using FIFO and sample timer generator | N | N | N | |
dac12_fifo_timer_event | DAC12 sending a sawtooth signal using FIFO and triggered by a Timer event | N | N | N | |
dac12_fixed_voltage_vref_internal | DAC12 setting a fixed voltage output | N | N | N |
2.2.9 Direct Memory Access (DMA)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
dma_block_transfer | DMA copies from Flash main memory to SRAM memory | ||||
dma_fill_data | DMA memory fill of SRAM using DMA | N | |||
dma_table_transfer | DMA using Table mode with DMA | N |
2.2.10 Events Manager¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
event_input_triggers_output | Event configuration to toggle LED when switch is pressed |
2.2.11 GPIO¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
gpio_input_capture | GPIO triggers interrupt by input capture pin | ||||
gpio_simultaneous_interrupts | Demonstrates how to simultaneously service three GPIO interrupts | N | N | N | |
gpio_software_poll | GPIO output is set based on polled input | ||||
gpio_toggle_output | GPIO toggling an output pin | ||||
gpio_toggle_output_cpp | GPIO toggling output pins using C++ | N | |||
gpio_toggle_output_hiz | GPIO toggling an ouputput pin configured as Hi-Z |
2.2.12 General-Purpose Amplifier (GPAMP)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
gpamp_buffer_to_adc | GPAmp configured in buffer mode with output to ADC | N | N | ||
gpamp_general_purpose_rri | GPAmp configured in general purpose Rail-to-Rail mode | N | N |
2.2.13 IWDT¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
iwdt_periodic_reset | Periodic reset of the indepedent watchdog timer in LFSS. | N | N | N |
2.2.14 Inter-Integrated Circuit (I2C)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
i2c_controller_rw_multibyte_fifo_interrupts | I2C Controller reading and writing multiple bytes using interrupts with FIFO | ||||
i2c_controller_rw_multibyte_fifo_poll | I2C Controller reading and writing multiple bytes polling FIFO | ||||
i2c_controller_target_dynamic_switching | I2C dynamic switching between Controller and Target modes | ||||
i2c_multicontroller_arbitration | I2C Controller detecting arbitration error | ||||
i2c_target_rw_multibyte_fifo_interrupts | I2C Target reading and writing multiple bytes using interrupts | ||||
i2c_target_rw_multibyte_fifo_interrupts_stop | I2C Target reading and writing multiple bytes using interrupts while in STOP mode | ||||
i2c_target_rw_multibyte_fifo_poll | I2C Target reading and writing multiple bytes polling FIFO |
2.2.15 LCD¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
lcd_write_memory | Write characters to onboard LCD. | N | N | N |
2.2.16 Math Accelerator (MATHACL)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
mathacl_mpy_div_op | MATHACL implementation of trigonometric functions | N | N | N | |
mathacl_trig_op | MATHACL implementation of trigonometric functions | N | N | N |
2.2.17 Non-Volatile Memory (FLASHCTL)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
flashctl_blank_verify | Implementation of Flash Blank Verify command | ||||
flashctl_dynamic_memory_protection | Flash configured with dynamic protection | ||||
flashctl_ecc_error_injection | Flash ECC testing and SEC and DED error detection | N | N | ||
flashctl_multiple_size_read_verify | Implementation of Flash read verify commands on multiple data sizes, with and without ECC | ||||
flashctl_multiple_size_write | Flash writing of different size data | ||||
flashctl_nonmain_memory_write | Read-write of Non-Main Flash memory | ||||
flashctl_program_with_ecc | Flash writing of different size data | N | N |
2.2.18 Operational Amplifier (OPA)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
opa_burnout_current_source_to_adc | OPA in buffer mode enabling burnout current source to ADC | N | N | ||
opa_dac8_output_buffer | OPA in output buffer mode using 8-bit DAC | N | N | ||
opa_general_purpose_rri | OPA in general purpose mode with Rail-to-Rail configuration | N | N | ||
opa_inverting_pga_with_dac | OPA in inverting PGA configuration using DAC12 as bias | N | N | N | |
opa_non_inverting_pga | OPA in non-inverting PGA configuration | N | N | ||
opa_signal_chain_to_adc | Two OPAs configured in TIA and PGA, connected to ADC | N | N | N |
2.2.19 Other¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
cinit_bypass | Bypass CINIT skipping variable initialization | ||||
empty | Empty start-up project using DriverLib | ||||
empty_cpp | Empty C++ start-up project using DriverLib | N | |||
empty_driverlib_src | Empty start-up project using DriverLib | ||||
empty_library | Empty start-up library project using DriverLib | Y | Y | Y | Y |
empty_non_sysconfig | Empty, non-SysConfig, start-up project using DriverLib | Y | Y | Y | Y |
nvic_interrupt_disable | NVIC used to demonstrate best approach to disable interrupts | ||||
nvic_interrupt_grouping | NVIC configuration and use of interrupt grouping | ||||
sram_parity | Initializes and uses Parity SRAM | N | N | ||
systick_periodic_timer | SysTick generates periodic interrupt | N |
2.2.20 Real-Time Clock (RTC)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
rtc_a_tamper_timestamp_event | Generates a time stamp event on RTC_A upon tamper detection | N | N | N | |
rtc_calendar_alarm_standby | RTC sets calendar alarm and toggles GPIO when alarm is triggered | N | N | N | |
rtc_offset_calibration_lfxt | RTC offset correction of crystal | N | N | N | |
rtc_periodic_alarm_lfosc_standby | RTC implementation of periodic alarm in STANDBY using LFOSC | N | N | N | |
rtc_periodic_alarm_lfxt_standby | RTC implementation of periodic alarm in STANDBY using LFXT | N | N | N |
2.2.21 Scratchpad¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
scratchpad_erase_on_tamper | Erases scratchpad data upon detection of tamper | N | N | N | |
scratchpad_retain_on_vdd_loss | Retains scratchpad data on loss of VDD power. | N | N | N |
2.2.22 Serial Peripheral Interface (SPI)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
spi_controller_command_data_control | SPI Controller transmit using command data (CD) control | ||||
spi_controller_echo_interrupts | SPI Controller transmits data using Motorola format | N | |||
spi_controller_fifo_dma_interrupts | SPI Controller reading and writing multiple bytes using FIFO and DMA | N | N | ||
spi_controller_internal_loopback_poll | SPI Controller with internal loopback using polling | ||||
spi_controller_multibyte_fifo_poll | SPI Controller reading and writing multiple bytes polling FIFO | ||||
spi_controller_register_format | SPI Controller transmit and read data using register format | ||||
spi_controller_repeated_fifo_dma_interrupts | SPI Controller reading and writing multiple bytes using FIFO and DMA every second | N | |||
spi_peripheral_echo_interrupts | SPI Peripheral echoes data using Motorola format | ||||
spi_peripheral_fifo_dma_interrupts | SPI Peripheral reading and writing multiple bytes using FIFO and DMA | N | N | ||
spi_peripheral_multibyte_fifo_poll | SPI Peripheral reading and writing multiple bytes polling FIFO | ||||
spi_peripheral_register_format | SPI Peripheral transmit and read data using register format | ||||
spi_peripheral_repeated_fifo_dma_interrupts | SPI Peripheral reading and writing multiple bytes using FIFO and DMA | N |
2.2.23 System Controller (SYSCTL)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
sysctl_frequency_clock_counter | Monitor SYSOSC via Frequency Clock Counter (FCC) | ||||
sysctl_hfxt_run | Sets external HFXT as source to HSCLK and MCLK (48MHz) | N | N | ||
sysctl_lfxt_standby | Sets LFXT as source to LFCLK (32kHz) and power policy in STANDBY0 | N | N | ||
sysctl_mclk_syspll | Sets MCLK to run from SYSPLL (80MHz) | N | N | N | |
sysctl_power_policy_sleep_to_standby | SYSCTL switches between SLEEP mode and STANDBY modes | ||||
sysctl_power_policy_sleep_to_stop | SYSCTL switches between SLEEP mode and STOP modes | ||||
sysctl_shutdown | Show correct wake-up mechanism after SHUTDOWN vs STOP, STANDBY and SLEEP |
2.2.24 Tamper IO¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
tamperio_heartbeat | Configures a TamperIO pin to continuously output a heartbeat | N | N | N |
2.2.25 Timer - Advanced (TIMA)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
tima_timer_mode_periodic_repeat_count | TimerA in periodic mode using repeat-count feature | N | |||
tima_timer_mode_pwm_dead_band | TimerA outputs PWM signals with dead band insertion | N | |||
tima_trigger_fail_mechanism | TimerA demonstrating fault detection | N |
2.2.26 Timer - General Purpose (TIMG)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
timg_32bit_timer_mode_periodic_sleep | 32-bit timer in periodic mode while device is in SLEEP mode | N | N | N | |
timg_32bit_timer_mode_pwm_edge_sleep | 32-bit timer in PWM edge aligned mode while device is in SLEEP mode | N | N | N | |
timg_qei_mode | TimerG uses QEI to decode relative position output of a quadrature encoder | N | N |
2.2.27 Timer - Generic (TIMx)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
timx_timer_mode_capture_duty_and_period | Timer calculates period and duty cycle | ||||
timx_timer_mode_capture_edge_capture | Timer edge time detection using Timer capture mode | ||||
timx_timer_mode_compare_edge_count | Timer edge counting capability using compare mode | ||||
timx_timer_mode_one_shot_standby | Timer in one-shot mode while device is in STANDBY mode | ||||
timx_timer_mode_periodic_sleep | Timer in periodic mode while device is in SLEEP mode | ||||
timx_timer_mode_periodic_standby | Timer in periodic mode while device is in STANDBY mode | ||||
timx_timer_mode_periodic_stop | Timer in periodic mode while device is in STOP mode | ||||
timx_timer_mode_pwm_center_stop | Timer in PWM center aligned mode while device is in STOP mode | ||||
timx_timer_mode_pwm_edge_sleep | Timer in PWM edge aligned mode while device is in SLEEP mode | ||||
timx_timer_mode_pwm_edge_sleep_shadow | Timer updating PWM duty cycle using shadow load feature | ||||
timx_timer_mode_pwm_x_trig_stop_restore | Timer in PWM mode after coming out of STOP with retention in SW | N | N | N |
2.2.28 True Random Number Generator (TRNG)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
trng_sample | TRNG sampling to fill a buffer with random data | N | N | N | |
trng_sample_stop_restore | TRNG sample random data after coming out of STOP with retention in SW | N | N | N |
2.2.29 Universal Asynchronous Receiver-Transmitter (UART)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
uart_echo_interrupts_standby | UART RX/TX echo using interrupts while device is in STANDBY mode | ||||
uart_extend_irda_receive_packet | UART Extend using IrDA encoding, send packet via UART | N | N | N | |
uart_extend_irda_send_packet | UART Extend using IrDA encoding, send packet via UART | N | N | N | |
uart_extend_manchester_echo | UART Extend using Manchester encoding, echo received packet | ||||
uart_extend_manchester_send_packet | UART Extend using Manchester encoding and decoding, send a packet | ||||
uart_external_loopback_interrupt | UART RX/TX external loopback using interrupts | ||||
uart_internal_loopback_standby_restore | UART internal loopback after coming out of STANDBY with retention in SW | N | N | N | |
uart_rs485_receive_packet | Demonstrate UART in RS485 mode, receive a packet | N | N | N | |
uart_rs485_send_packet | Demonstrate UART in RS485 mode, send a packet | N | N | N | |
uart_rw_multibyte_fifo_poll | UART RX/TX using FIFOs with polling | ||||
uart_rx_hw_flow_control | UART RX using HW flow control | ||||
uart_rx_multibyte_fifo_dma_interrupts | UART RX using a DMA trigger | N | |||
uart_tx_console_multibyte_repeated_fifo_dma | UART TX to a console using a continous DMA trigger | N | |||
uart_tx_hw_flow_control | UART TX using hardware flow control | ||||
uart_tx_multibyte_fifo_dma_interrupts | UART TX using a DMA trigger | N |
2.2.30 Window Watchdog Timer (WWDT)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
wwdt_interval_timer_lfosc_standby | WWDT interval timer mode using LFOSC while device is in STANDBY mode | ||||
wwdt_interval_timer_lfxt_standby | WWDT interval timer mode using LFXT while device is in STANDBY mode | N | N | ||
wwdt_window_mode_periodic_reset | WWDT Window watchdog mode with periodic reset |
2.3 TI-Drivers¶
TI Drivers provide a robust set of intuitive, functional APIs that offer portable, feature-rich access to peripherals.
TI-Drivers for MSPM0 are under development, but the examples below provide a glimpse of expected functionality.
2.3.1 FreeRTOS¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
adc_singlechannel/freertos | Get the samples from the configured ADC channel and print them on the console using UART | Y | N | N | Y |
gpiointerrupt/freertos | Toggles the LED(s) using a GPIO pin interrupt | Y | N | N | Y |
i2c_controller/freertos | Implements I2C controller sending commands to another device running i2c_target example | Y | N | N | Y |
i2c_target/freertos | Responds to the i2c_controller example commands using the i2c target driver | Y | N | N | Y |
i2c_tmp/freertos | Read temperature from Tmp117 Sensor using I2C | Y | N | N | Y |
spi_controller/freertos | Demonstrates the SPI driver in controller mode to communicate with another LP_MSPM0G3507 running the spi_peripheral example | Y | N | N | Y |
spi_peripheral/freertos | Demonstrates the SPI driver in peripheral mode to communicate with another LP_MSPM0G3507 running the spi_controller example | Y | N | N | Y |
uart_callback/freertos | UART simple echo using callback | Y | N | N | Y |
uart_echo/freertos | UART simple echo | Y | N | N | Y |
2.3.2 No RTOS¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
uart_echo/nortos | UART simple echo | Y | N | N | Y |
2.4 Battery Gauge¶
The MSPM0 SDK includes source code and examples showing the implementation of different battery gauge solutions. Documentation includes links to companion application reports describing the solutions in more detail.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
gauge_level1 | The level1 gauge approach utilizes the ADC to implement a low-cost voltage detection solution | N | Y | N | N |
gauge_level2_bq76952 | This example implements a Level2 gauge solution using BQ76952 | N | N | N | |
gauge_level2_standalone | The level2 gauge solution utilizes the ADC and OPAs on MSPM0 for high precision voltage and current detection | N | N | N | |
self_calibrate_current_detection | This example demonstrates a self-calibratable, high precision and low-cost current detection solution based on MSPM0 internal OPAs | N | Y | N | N |
2.5 Boot Image Manager (BIM)¶
The MSPM0 SDK includes a boot image manager implementation to demonstrate how a user can verify integrity and authenticity of images loaded onto their device.
2.5.1 Customer Secure¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
customer_secure_code | Customer Secure Code based off MCUBoot | N | N | N | |
customer_secure_image_with_bootloader | Sample GPIO toggle image for Customer Secure Code | N | N | N | |
customer_secure_sample_image | Sample GPIO toggle image for Customer Secure Code | N | N | N |
2.5.2 Single Stage¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
bim_sample_image | Sample GPIO toggle image for BIM | N | N | ||
boot_application | Boot Image Manager Using MCUBoot | N | N |
2.6 Bootstrap Loader (BSL)¶
The bootstrap loader (BSL) provides a method to program and/or verify the device memory through a standard UART or I2C serial interface. Among its features, the BSL supports MAIN flash plugins to enable additional interfaces and functionality.
The MSPM0 SDK includes examples showing how to implement plugins and other BSL functionality in MAIN Flash.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
bsl_can_flash_interface | Shows an implementation of a BSL CAN Flash interface | N | N | N | |
bsl_host_mcu_to_mspm0g1x0x_g3x0x_target_can | Demonstrate how to program a MSPM0 MCU using a LP-MSPM0G3507 as host by BSL CAN interface. | N | N | N | |
bsl_host_mcu_to_mspm0g1x0x_g3x0x_target_i2c | Demonstrate how to program a MSPM0 MCU using a LP-MSPM0G3507 as host by BSL I2C interface. | N | N | N | |
bsl_host_mcu_to_mspm0g1x0x_g3x0x_target_spi | Demonstrate how to program a MSPM0 MCU using a LP-MSPM0G3507 as host by BSL SPI interface. | N | N | N | |
bsl_host_mcu_to_mspm0g1x0x_g3x0x_target_uart | Demonstrate how to program a MSPM0 MCU using a LP-MSPM0G3507 as host by BSL UART interface. | N | N | N | |
bsl_host_mcu_to_mspm0l11xx_l13xx_target_i2c | Demonstrate how to program a MSPM0L11xx_L13xx MCU using a LP-MSPM0L1306 as host by BSL I2C interface. | N | N | N | |
bsl_host_mcu_to_mspm0l11xx_l13xx_target_spi | Demonstrate how to program a MSPM0L11xx_L13xx MCU using a LP-MSPM0L1306 as host by BSL SPI interface. | N | N | N | |
bsl_host_mcu_to_mspm0l11xx_l13xx_target_uart | Demonstrate how to program a MSPM0L11xx_L13xx MCU using a LP-MSPM0L1306 as host by BSL UART interface. | N | N | N | |
bsl_i2c_flash_interface | Shows an implementation of BSL I2C Flash interface | N | |||
bsl_software_invoke_app_demo_can | Demonstrates an application request to reset the device and jump to the ROM bootloader (BSL). | N | N | N | |
bsl_software_invoke_app_demo_i2c | Demonstrates an application request to reset the device and jump to the ROM bootloader (BSL). | N | N | ||
bsl_software_invoke_app_demo_spi | Demonstrates an application request to reset the device and jump to the ROM bootloader (BSL). | N | N | ||
bsl_software_invoke_app_demo_uart | Demonstrates an application request to reset the device and jump to the ROM bootloader (BSL). | N | N | ||
bsl_spi_flash_interface | Shows an implementation of a BSL SPI Flash interface | N | |||
bsl_uart_flash_interface | Shows an implementation of a BSL UART Flash interface | N | |||
flash_bsl | Provides BSL suport from flash memory | N | N | Y | N |
flash_bsl_app_invoke | GPIO triggers interrupt by input capture pin and invokes Flash BSL | N | N | N | |
secondary_bsl_can | Implements a secondary bootloader in Main overriding the ROM BSL | N | N | N | |
secondary_bsl_i2c | Implements a secondary bootloader in Main overriding the ROM BSL | N | N | ||
secondary_bsl_spi | Implements a secondary bootloader in Main overriding the ROM BSL | N | N | ||
secondary_bsl_uart | Implements a secondary bootloader in Main overriding the ROM BSL | N |
2.7 CMSIS-DSP¶
The CMSIS DSP software library includes a comprehensive set of signal processing functions for use on Cortex-M MCUs.
The MSPM0 SDK includes examples showing how to get started using CMSIS DSP.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
cmsis_dsp_empty | Empty example using CMSIS-DSP | N | N | ||
cmsis_dsp_fft_q15 | FFT of fixed point array using CMSIS-DSP | N | N |
2.8 UART COMMUNICATION MODULE¶
MSPM0 Communication Modules - UART module provides a simple way for the application developer to integrate UART based communication module for communication.
The MSPM0 SDK includes easy-to-use examples for Controller and Target.
2.8.1 Universal Asynchronous Receiver-Transmitter (UART)¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
controller | Generic UART Communication Module - Controller code | N | N | N | |
target | Generic UART Communication Module - Target code | N | N | N |
2.9 DALI¶
MSPM0 supports the DALI Protocol via the UART module. DALI (Digitally Addressable Lighting Interface) is a serial protocol for digital lighting control that allows for simple and efficient communication between various lighting application gear and controllers.
The MSPM0 SDK includes the source code and examples showing the implementation of supported solutions.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
dali_led_demo | Demonstrates usage of DALI protocol with an LED control demo | N | N | N |
2.10 EEPROM¶
MSPM0 supports EEPROM emulation through its internal Flash. Compared to using an external serial EEPROM, EEPROM emulation using the internal Flash saves pin usage and cost.
The MSPM0 SDK includes a library and examples showing the implementation of supported solutions.
2.10.1 Type-A¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
eeprom_emulation_type_a | Demonstrates Type A EEPROM emulation to store non-volatile data | Y | Y | N | N |
eeprom_emulation_type_a_test | Demonstrates a more detailed use case of Type A EEPROM emulation to store blocks of non-volatile data | Y | Y | N | N |
2.10.2 Type-B¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
eeprom_emulation_type_b | Demonstrates Type B EEPROM emulation to store user data | Y | Y | N | N |
eeprom_emulation_type_b_test | Demonstrates a more detailed use case of Type B EEPROM emulation to store user data | Y | Y | N | N |
2.11 Energy Library¶
The MSPM0 SDK includes a collection of energy measurement examples designed to get you started quickly in testing and developing energy measurement applications.
Stay tuned for more examples and functionality coming soon.
2.11.1 Split-phase¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
TIDA_010944_SW | Firmware for Split phase measurement using MSPM0G3507, ADS131M02 and AMC131M03 | N | N | N |
2.11.2 Three-phase¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
TIDA_010243_SW | Firmware for 3 phase measurement using MSPM0G3507 and ADS131M08 | N | N | N |
2.12 GUI Composer¶
GUI Composer is a browser-based tool for developing PC-side HTML-based GUIs that can complement your embedded project or application.
The MSPM0 SDK includes a library and various examples showing the implementation of supported protocols.
2.12.1 Streaming Protocols¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
gc_simple_json | Demonstrates basic usage of GUI Composer communication using JSON-formatted strings | N | N | ||
gc_simple_messagepack | Demonstrates basic usage of GUI Composer communication using MessagePack protocol | N | N |
2.13 IQMath¶
IQMath is a collection of highly optimized and high-precision fixed-point mathematical functions.
The MSPM0 SDK includes IQMath support using simple C runtime-system (RTS) functions, and leveraging the MathAcl hardware accelerator.
2.13.1 Compiler RTS library¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
iqmath_rts_ops_test | Implements various fixed-point operations leveraging the RTS implementation of IQMath | N | N |
2.13.2 MathACL¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
iqmath_mathacl_ops_test | Implements various fixed-point operations leveraging the MathACL implementation of IQMath | N | N | N |
2.14 RTOS Kernel¶
The MSPM0 SDK includes a collection of examples to test kernel functionality.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
blink_led | Simple FreeRTOS LED blinky demo using two tasks | N | N | ||
posix_demo | Simple Posix FreeRTOS blinky LED demo | N | N |
2.15 LIN¶
The Local Interconnect Network (LIN) is a multipoint, low-cost, easily-implemented communication bus commonly used in automobiles.
The MSPM0 SDK includes easy-to-use examples for Commander and Responder.
2.15.1 Commander¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
lin_commander | Demonstrates basic implementation of LIN commander to transmit and receive LIN 2.0 packets using UART | N |
2.15.2 Responder¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
lin_responder | Demonstrates basic implementation of LIN responder to transmit and receive LIN 2.0 packets using UART | N |
2.16 Sensored Trap Hall Motor Control¶
The MSPM0 SDK includes examples to evaluate the sensored trap hall motor control library with the DRV8300DRGEEVM, DRV8311HEVM, DRV8316REVM, DRV8317HEVM, DRV8323RHEVM, DRV8328AEVM, DRV8329AEVM and DRV8353RHEVM. These firmware are designed for a GUI to make testing and evaluation quick for the user.
Stay tuned for more examples and functionality coming soon.
2.16.1 DRV8300¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8300drgeevm-gui-firmware | Firmware for LP_MSPM0G3507 and drv8300drge EVM GUI | N | N | N |
2.16.2 DRV8311¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8311hevm-gui-firmware | Firmware for LP_MSPM0G3507 and drv8311h EVM GUI | N | N | N |
2.16.3 DRV8316¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8316revm-gui-firmware | Firmware for LP_MSPM0G3507 and DRV8316R EVM GUI | N | N | N |
2.16.4 DRV8317¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8317hevm-gui-firmware | Firmware for LP_MSPM0G3507 and drv8317h EVM GUI | N | N | N |
2.16.5 DRV8323¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8323rhevm-gui-firmware | Firmware for LP_MSPM0G3507 and drv8323rh EVM GUI | N | N | N |
2.16.6 DRV8328¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8328aevm-gui-firmware | Firmware for LP_MSPM0G3507 and DRV8328A EVM GUI | N | N | N | |
tida-010251-gui-firmware | Firmware for LP_MSPM0G1507 and DRV8328 motor driver | N | N | N |
2.16.7 DRV8329¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8329aevm-gui-firmware | Firmware for LP_MSPM0G3507 and DRV8329A EVM GUI | N | N | N | |
drv8329aevm-gui-firmware-MSPM0L1306 | Firmware for LP_MSPM0L1306 and DRV8329A EVM GUI | N | N | N |
2.16.8 DRV8353¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8353rhevm-gui-firmware | Firmware for LP_MSPM0G3507 and drv8353rh EVM GUI | N | N | N |
2.17 Sensorless FOC Motor Control¶
The MSPM0 SDK includes examples to evaluate the sensorless FOC motor control library with the DRV8323RS EVM. These firmware are designed for a GUI to make testing and evaluation quick for the user.
Stay tuned for more examples and functionality coming soon.
2.17.1 DRV8316¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
sensorless-foc_DRV8316 | Sensorless FOC code for LP_MSPM0G3507 | N | N | N |
2.17.2 DRV8323RS¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
sensorless-foc_DRV8323RS | Sensorless FOC code for LP_MSPM0G3507 | N | N | N |
2.18 Brushed Motor Control¶
The MSPM0 SDK includes an example to evaluate the brushed motor control library with the DRV8706-Q1 EVM. This firmware was designed for a GUI to make testing and evaluation quick for the user.
Stay tuned for more examples and functionality coming soon.
2.18.1 DRV8706-Q1¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8706s-q1evm-gui-firmware | Firmware for LP_MSPM0L1306 and DRV8706S-Q1 EVM GUI | N | N | N |
2.19 Stepper Motor Control¶
The MSPM0 SDK includes examples to evaluate the stepper motor control library with the DRV8411A and DRV8889-q1 EVM. These firmwares were designed for a GUI to make testing and evaluation quick for the user.
Stay tuned for more examples and functionality coming soon.
2.19.1 DRV8411A¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8411aevm-gui-firmware | Firmware for LP_MSPM0L1306 and DRV8411AEVM GUI | N | N | N |
2.19.2 DRV8889-Q1¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
drv8889-q1evm-gui-firmware | Firmware for LP_MSPM0L1306 and DRV8889-Q1 EVM GUI | N | N | N |
2.20 Cookbook¶
The MSPM0 SDK Cookbook contains examples showing more complex functionality implemented with multiple peripherals.
The examples use DriverLib APIs, and includes full source code and documentation with detailed usage instructions.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
adc_dma_ping_pong | Capture ADC data into 2 (ping-pong) buffers | N | N | ||
adc_to_i2c_target | Sample ADC and respond to I2C commands sent by a controller | N | N | ||
adc_to_pwm | Convert analog voltage to PWM | N | N | ||
adc_to_spi_peripheral | Sample ADC and respond to SPI commands sent by a controller | N | N | ||
adc_to_uart | Configures the ADC0 to trigger single conversion and send the ADC data through UART | N | N | ||
can_to_i2c_controller_bridge | Bridge between CAN interface and I2C controller interface | N | N | N | |
can_to_i2c_target_bridge | Bridge between CAN interface and I2C target interface | N | N | N | |
can_to_spi_bridge | Bridge between CAN interface and SPI interface | N | N | N | |
can_to_uart_bridge | Bridge between CAN interface and UART interface | N | N | N | |
dac8_dma_function_generator | Generates waveform using DAC8 with the DMA | N | N | ||
data_sensor_aggregator | This example reads all the sensors on the BP-BASSENSORSMKI using I2C then transmits all of the data through UART to the MSPM0. | N | N | N | |
digital_mux | Emulate a digital mux with GPIO | N | N | N | |
diode_matrix | Drive LEDs with fewer pins using diode matrix | N | N | N | |
fir_low_pass_filter | Applies digital FIR low-pass filter to sampled ADC signals | N | N | N | |
i2c_to_uart_bridge | I2C Target receives I2C transmissions and passes them on via UART | N | N | N | |
iir_low_pass_filter | Applies digital IIR filter to sampled ADC signals | N | N | N | |
io_expander_i2c_host | Example I2C host controller | N | N | ||
io_expander_i2c_target | Example I2C IO expander target | N | N | ||
io_expander_uart | Capture several GPIOs’ status, update and send the status to host through UART | N | N | N | |
power_sequencing | This sub system allows for different pins/applications be turned on/off in a sequence as to not over load the device from simultaneous power consumption. | N | N | ||
programmable_gain_amplifier_1 | Use programmable gain amplifier to dynamically adjust gain | N | N | N | |
programmable_gain_amplifier_2 | Use programmable gain amplifier to dynamically adjust gain and capture values with integrated ADC | N | N | N | |
pushbutton_change_pwm | This example demonstrates using the two switches on the MSPM0 Launchpad to change the period and duty cycle on TIMA1 PWM output channels CC0 and CC1. | N | N | N | |
pwm_dac | Use a timer to create a PWM DAC | N | N | N | |
pwm_led_driver | Create a pulsating LED effect using timers | N | N | ||
signal_acquisition | OPA supports two different sensor input voltages and uses common ADC channel | N | N | N | |
spi_to_can_bridge | Demonstrate SPI to CAN bridge | N | N | N | |
task_scheduler | A simple run to completion task scheduler | N | N | ||
temp_sense_thermistor | Sample LaunchPad thermistor using integrated Op-Amp and ADC | N | N | N | |
transimpedance_amplifier | Configure Op-amp in transimpedance amplifier topology | N | N | N | |
two_opa_instrumentation_amplifier | Along with an external circuit this code amplifies the difference between two voltage inputs and outputs a single ended signal while rejecting the common-mode voltage. | N | N | ||
uart_to_i2c_bridge | Translates UART packets to multiple I2C devices | N | N | ||
uart_to_spi_bridge | UART device receives packets and passes them on or executes reads in SPI format | N | N | N |
2.21 PMBUS¶
PMBus is a protocol design to interface with power management devices. It uses the SMBus protocol as a base.
The MSPM0 SDK includes a ready-to-go example for using an MSPM0 devices as a PMBus controller for a TPS544B20 device.
2.21.1 Controller¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
pmbus_controller_tps544b20evm | Use MSPM0 to configure TPS544B20EVM over PMBus | N | N |
2.22 SASI_SMOKE_DETECTOR¶
MSPM0 supports analog front ends for chambered or chamberless smoke detectors and air quality sensing solutions.
The MSPM0 SDK includes a software library and reference examples for smoke detection and air quality sensing.
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
air_quality_sensing | Implements an analog front end for air quality sensing | N | Y | N | N |
sasi_smoke_detector | Implements an analog front end for smoke detectors | N | Y | N | N |
2.23 SENT¶
The Single Edge Nibble Transmission (SENT) is a unidirectional communication standard used in automotive networks.
The MSPM0 SDK includes easy-to-use examples for transmitting a SENT frame.
2.23.1 Transmit¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
sent_transmit | Demonstrates basic implementation of SENT protocol | N | N | N |
2.24 SMBus¶
The System Management Bus (SMBus) is a single-ended simple two-wire bus for lightweight communication.
The MSPM0 SDK includes easy-to-use examples for Controller and Target.
2.24.1 Controller¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
smb_controller00_all_protocols | Demonstrates basic implementation of SMBus Controller testing all SMBus 2.0 protocols using I2C | N | N | ||
smbus_controller_host_notify | Demonstrates implementation of SMBus Host Notify function on a Controller | N | N |
2.24.2 Target¶
Project Name | Description | EVM | |||
---|---|---|---|---|---|
LP_MSPM0G3507 | LP_MSPM0L1306 | LP_MSPM0C1104 | LP_MSPM0L2228 | ||
smb_target00_all_protocols | Demonstrates basic implementation of SMBus Target testing all SMBus 2.0 protocols using I2C | N | N | ||
smbus_target_host_notify | Demonstrates implementation of SMBus Host Notify function on a Target | N | N |