Table of Contents


If you have used MRS products before a lot of the Applics Studio features will feel familiar. The same is true for the c API with the main difference being the renaming of os_ into user_.

The following tables show how the HCS12 libraries (Developers Studio) are mapped to the S32K library (Applics Studio):

Information


i

Tables below are mapped to HCS12. HCS08 is similar to HCS12.


CAN

HCS12 CAN
uint8_t os_can_send_message( uint8_t hw_id,
                             uint32_t id,
                             uint8_t id_type,
                             uint8_t dlc,
                             uint8_t byte0,
                             uint8_t byte1,
                             uint8_t byte2,
                             uint8_t byte3,
                             uint8_t byte4,
                             uint8_t byte5,
                             uint8_t byte6,
                             uint8_t byte7 );

void can_db_set_value( uint32_t name_signal,
                       uint32_t wert_int );

uint32_t can_db_get_value( uint32_t name_signal );

void can_db_transmit_deactivate( uint8 state );

void can_db_bus_transmit_stop( uint8_t state,
                               uint8_t bus_id );

void user_can_db_set_transmit_flag(uint32_t can_dp_id);
S32K CAN
enum_HAL_CAN__VALUE user_can_send_msg( const uint8_t can_bus,
                                       const uint32_t can_id, 
                                       const enum_CAN_ID_TYPE id_type,
                                       const uint8_t can_dlc,
                                       const uint8_t data_byte_0,
                                       const uint8_t data_byte_1,
                                       const uint8_t data_byte_2,
                                       const uint8_t data_byte_3,
                                       const uint8_t data_byte_4,
                                       const uint8_t data_byte_5,
                                       const uint8_t data_byte_6,
                                       const uint8_t data_byte_7 );

void user_can_db_set_signal_value( const uint32_t id,
                                   const uint32_t value_int );

uint32_t user_can_db_get_signal_value( const uint32_t id );

uint8_t user_can_db_transmit_deactivate( const uint8_t status );

uint8_t user_can_db_stop_transmission( const uint8_t can_bus,
                                       const bool status );

void user_can_db_send_dp( const uint32_t can_dp_id );

LIN

HCS12 LIN
uint32_t lin_db_get_value( uint32_t datapoint_id );

void lin_db_set_value( uint32_t datapoint_id, uint32_t set_value );

uint8_t lin_check_for_received_frame( uint8_t lin_module, uint8_t frame_index, uint8_t reset );

uint8_t lin_check_for_received_response_frame(uint8_t frame_index) ;

void lin_clear_response_frame_flag( uint8_t frame_index );

void lin_clear_request_frame_flag( uint8_t frame_index );

void lin_schedule_handling(uint8_t lin_schedule_table_index, uint8_t lin_st_active);

void lin_schedule_handling_reset( uint8_t lin_schedule_table_index) ;

uint8_t lin_ma_check_frame_resp_timeout( uint8_t frame_index );
S32K LIN
uint32_t lin_db_get_value( uint32_t datapoint_id );

void lin_db_set_value( uint32_t datapoint_id, uint32_t set_value );

uint8_t lin_check_for_received_frame( uint8_t lin_module, uint8_t frame_index, uint8_t reset );

uint8_t lin_check_for_received_response_frame( uint8_t frame_index );

void lin_clear_response_frame_flag( uint8_t frame_index );

void lin_clear_request_frame_flag( uint8_t frame_index );

void lin_schedule_handling( uint8_t lin_schedule_table_index, uint8_t lin_st_active );

void lin_schedule_handling_reset( uint8_t lin_schedule_table_index );

uint8_t lin_ma_check_frame_resp_timeout( uint8_t frame_index );

EEPROM

HCS12 EEPROM
uint8_t os_eeprom_write_data( uint16_t Addr,
                              uint8_t *Data,
                              uint16_t Size );

uint8_t os_eeprom_read_data( uint16_t Addr,
                             uint8_t *Data,
                             uint16_t Size );
S32K EEPROM
uint8_t user_eeprom_write( uint32_t addr,
                           uint32_t len,
                           const uint8_t *ptr_data );

uint8_t user_eeprom_read( uint32_t addr,
                          uint32_t len,
                          uint8_t *ptr_data );

LOOKUP TABLE

HCS12 LOOKUP TABLE
int16_t os_util_lookup1D( int16_t *table_x,
                          int16_t *table_y,
                          uint8_t count,
                          int16_t val,
                          uint8_t mode );

int16_t os_util_lookup2D( int16_t *table_x,
                          int16_t *table_y,
                          uint8_t count_x,
                          uint8_t count_y,
                          int16_t *table_z,
                          int16_t val_x,
                          int16_t val_y );
S32K LOOKUP TABLE
uint16_t user_util_get_lookup_value_1D_16( int16_t *table_x,
                                           int16_t *table_y,
                                           uint8_t count,
                                           int16_t val,
                                           uint8_t mode );


uint16_t user_util_get_lookup_value_2D_16( int16_t *table_x,
                                           int16_t *table_y,
                                           uint8_t count_x,
                                           uint8_t count_y,
                                           int16_t *table_z,
                                           int16_t val_x,
                                           int16_t val_y );

IO

HCS12 IO
void os_digout( uint16_t i, uint8_t value );


uint8_t os_digin( uint16_t i);


uint16_t os_algin_mv( uint8_t i );


uint16_t os_algin( uint8_t i );

S32K IO
void user_io_set_do( uint16_t pin, uint8_t state );


uint8_t user_io_get_di( uint16_t pin );


uint16_t user_ai_get_mv( enum_adc_pin_name pin );


uint16_t user_ai_get_digits( enum_adc_pin_name pin );

PWM

HCS12 PWM
void os_pwm_duty_cycle( uint8_t i,
                        uint16_t pwm_promille,
                        uint16_t pwm_frequency,
                        uint16_t pwm_dither_promille,
                        uint16_t pwm_dither_frequency );

uint16_t os_frequency_calc( uint8_t channel_def,
                            uint8_t channel_def
                            uint32_t* measure_period_timestamp
                            uint16_t* measured_frequency ); 
S32K PWM
uint32_t user_pwm_set_pwm( uint16_t pin,
                           uint16_t freq,
                           uint16_t duty );

uint32_t user_freq_get_measured_freq( uint16_t pin );

TIMER

HCS12 TIMER
void os_timestamp( uint32* time,
                   uint8_t precision );

uint8_t os_time_past( uint32 time,
                      uint32 value,
                      uint8_t precision ); 
S32K TIMER
uint8_t user_timer_set_timestamp( uint32_t* timestamp,
                                  enum_PRECISION precision );

uint8_t user_timer_time_elapsed( uint32_t timestamp_t0,
                                 uint32_t span,
                                 enum_PRECISION precision );

RS232

HCS12 RS232
void sci_buffer_send( void );

S32K RS232
enum_HAL_SCI_RETURN_VALUE user_uart_send_buffer( uint8_t *send_buffer,
                                                 uint8_t send_lenght )