Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested |
BiSS-C | R5F | YES | FreeRTOS, NORTOS | Single channel, point-to-point connection, control communication, automatic processing delay detection and compensation, Interface speed of 1, 2, 5, 8, and 10 MHz, Boosterpack with LP-AM261 | Daisy chaining, Multi Transmission Mode |
EnDat | R5F | YES | FreeRTOS, NORTOS | Single channel, Continuous mode, Recovery Time for 2.2 command set, Interface speed of 5 and 10 MHz, Boosterpack with LP-AM261 | Encoder receive communication command |
HDSL | R5F | YES | FreeRTOS, NORTOS | Single channel, Free Run mode, Sync mode, Short Message Read and Write, Long Message Read and Write, Pipeline Channel Data, Long cable (upto 100 meters) with single channel Free Run mode, Boosterpack with LP-AM261, 225 MHz PRU firmware | Long cable (upto 100 meters) with sync mode, Trace feature for logging registers |
Nikon A-format | R5F | YES | FreeRTOS, NORTOS | Nikon A-format version 2.1 and version 3.0, Single channel, Multi channel using single PRU core, point-to-point connection, bus connection up to 8 encoders, Individual and multiple transmission mode with encoder addresses ranging between ENC1-ENC8, baud rates from 2.5 MHz, 4 MHz, 6.67 MHz, 8 MHz, and 16 MHz, up to 40-bit absolute position (single turn + multi turn) data with additional information, long cable (upto 100 meters), Boosterpack with LP-AM261 | - |
Tamagawa | R5F | YES | FreeRTOS, NORTOS | Absolute position, Encoder ID, Reset, EEPROM Read, EEPROM Write, 2.5 Mbps Encoder, Boosterpack with LP-AM261 | 5 Mbps encoder |
Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested |
Control | R5F | YES | FreeRTOS, NORTOS | Field Weakening Control, Maximum Torque Per Ampere, Strator voltage frequency generator support | - |
Digital Control Library (DCL) | R5F | YES | FreeRTOS, NORTOS | Linear PI, Linear PID, Linear PI with double integrator (PI2), Direct Form 1 (first order), Direct Form 1 (second order), Direct Form 1 (third order), Direct Form 2 (second order), Direct Form 2 (third order), Non-linear PID controller | - |
Observer | R5F | YES | FreeRTOS, NORTOS | Sensored eQEP-based encoder, Hall sensor, Sensorless Enhanced Sliding Mode Observer, both speed measurement for sensored (speedcalc) and sensorless (speedfr) | - |
SFRA | R5F | YES | FreeRTOS, NORTOS | Software Frequency Response Analyzer support | - |
Transforms | R5F | YES | FreeRTOS, NORTOS | Clarke transformation, Park transformation, Inverse Park transformation, Space Vector Generation (SVGEN), Common-mode subtraction approach, DPWM Generation (Part of SVGEN), Maximum Modulation, Minimum Modulation, SVGEN current reconstruction for single-shunt (SVGENCURRENT), Phase voltage reconstruction in overmodulation (VOLTS_RECON) | - |
Utilities | R5F | YES | FreeRTOS, NORTOS | Angle Compensation Generator, Step Response, Datalog, Trapezoid generator | - |
ID | Head Line | Module | Applicable Releases | Resolution/Comments |
PINDSW-8087 | Tamagawa: UART clock source is used for TX fifo | Position Sense Tamagawa | 10.0.0 onwards | - |
PINDSW-8353 | AM261x: HDSL Long message UART Commands (8, 9 and 10) not working | Position Sense HDSL | 10.0.0 onwards | - |
PINDSW-8358 | BiSS-C/Nikon/EnDat/Tamagawa: Exiting Periodic Trigger mode UART option does not work | Position Sense BiSS-C, Position Sense EnDat, Position Sense Nikon A-format, Position Sense Tamagawa | 10.0.1 | - |
PINDSW-8399 | EnDat: Implementation of Recovery time is not as per specification (RT counter is missing) | Position Sense EnDat | 10.0.0 onwards | - |
PINDSW-9123 | Nikon: Data reversal not done correctly for EEPROM and ID commands | Position Sense Nikon A-format | 10.0.1 | Fixes done in nikon_update_eeprom_addr, nikon_update_eeprom_data, nikon_update_id_code and nikon_get_pos |
PINDSW-9124 | Nikon: Data reversal not done correctly for encoder status received in response | Position Sense Nikon A-format | 10.0.1 | Fixes done in nikon_get_pos |
PINDSW-9127 | Nikon: For commands 8 to 12, 9 requests are sent instead of 8 | Position Sense Nikon A-format | 10.0.1 | Fixes done in nikon_get_pos |
PINDSW-9128 | Nikon: For EEPROM commands, request is sent 2 times from firmware | Position Sense Nikon A-format | 10.0.1 | Fixes done in nikon_get_pos, and updates in the application code for EEPROM command handling |
PINDSW-9131 | Nikon: EEPROM read for temperature does not use 10 bit data | Position Sense Nikon A-format | 10.0.1 | Fixes done in nikon_get_pos, and updated the application code for EEPROM command handling |
PINDSW-9144 | Nikon: For EEPROM/ID commands, same data is used for all channels in multi-channel mode | Position Sense Nikon A-format | 10.0.1 | Added provision for different address/data per channel |
PINDSW-9180 | Nikon: 10 us delay between CDF-MDF and MDF-MDF is used for commands needing MDF | Position Sense Nikon A-format | 10.0.1 | - |
PINDSW-9238 | Nikon: IEP compare value is not set correctly for continuous mode | Position Sense Nikon A-format | 10.0.1 | Change the units to IEP clock cycle count |
PINDSW-9239 | Nikon: nikon_config_periodic_trigger assumes fixed receive size of response | Position Sense Nikon A-format | 10.0.1 | Remove receive size hard-coding in driver |
PINDSW-9248 | EnDat: RX arm delay and TST delay settings are hard-coded for a 200MHz core clock | Position Sense EnDat | 10.0.0 onwards | - |
PINDSW-9255 | Nikon: If Debug log/scan is removed and encoder resolution is fixed in application code, initialization fails | Position Sense Nikon A-format | 10.0.1 | Add 0.5 seconds delay in application after powering up the encoder |
This section lists changes which could affect user applications developed using older SDK versions. Read this carefully to see if you need to do any changes in your existing application when migrating to this SDK version relative to previous SDK version. Also refer to older SDK version release notes to see changes in earlier SDKs.
Module | Affected API | Change | Additional Remarks |
Position Sense Endat | Endat_ChRxInfo | Added new variables: Endat_ChRTInfo and Removed variables: resvdInt2 , resvdInt3" and recoveryTime` | - |
Position Sense Endat | struct pruss_xchg | Added new variables: enableRTM | - |
Position Sense Nikon A-format | structure pos_data_info | Added variables raw_data4 , raw_data5 , velocity and acc | Needed for Nikon A-format version 3.0 |
Position Sense Nikon A-format | structure alm_bits | Added variables ov_spd_s , st_err_s , ps_err_s , busy_s and inc_err_s | Needed for Nikon A-format version 3.0 |
Position Sense Nikon A-format | structure alm_bits | Updated variable inc_err 's name to inc_err | Updated as per Nikon A-format version 3.0 |
Position Sense Nikon A-format | structure nikon_priv | Added parameters tx_rx_clock_source and protocol_version | Needed for configuring clock source selection and specifying protocol version respectively |
Position Sense Nikon A-format | structure nikon_priv | Updated parameter tx_mdf | Updated the variable type from uint32_t to 2D array of type uint32_t to store different tx_mdf data for each channel and each MDF
|
Position Sense Nikon A-format | structure nikon_priv | Updated parameter mem_data | Updated the variable type from 1D array of type uint32_t to 2D array of type uint32_t to store different mem_data data for each channel and each MDF |
Position Sense Nikon A-format | structure nikon_priv | Added variable velocity_coefficient , pm_alm_field , and bank_error | Needed for Nikon A-format version 3.0 |
Position Sense Nikon A-format | API nikon_init | Added input parameters tx_rx_clock_source and protocol_version | Needed for configuring clock source selection and specifying protocol version respectively |
Position Sense Nikon A-format | structure nikon_pruicss_xchg | Updated parameter mdf_frame | Updated the variable type from 1D array of type uint32_t to 2D array of type uint32_t to store different mdf_frame data for each channel and each MDF |
Position Sense Nikon A-format | structure nikon_pruicss_xchg | Add parameter num_mdf | It stores the number of MDFs to be sent |
Position Sense Nikon A-format | structure nikon_pruicss_xchg | Removed delay_300us , delay_30ms , delay_10us and added delay_1us | 300 us, 30 ms and 10 us delay values are not needed in firmware. 1 us is needed for delay between CDF and MDFs. |
Position Sense Nikon A-format | structure nikon_pruicss_xchg | Renamed variable icssg_clk to icss_clk | - |
Position Sense Nikon A-format | API nikon_get_pos | CRC is not removed while copying data into last raw data byte for all commands (priv->pos_data_info[ch].raw_data<x>[enc_num] ) | - |
Position Sense Nikon A-format | APIs nikon_get_pos, nikon_init, nikon_generate_cdf, nikon_reverse_bits, nikon_config_load_share | Refactor code to avoid unsigned to signed and signed to unsigned conversion. Update the data type of function arguments. | - |
Position Sense Nikon A-format | APIs nikon_update_eeprom_addr, nikon_update_eeprom_data, nikon_update_id_code | Add channel as function argument, and update the data type based on bit width needed for address, data, and ID code | - |