PER Firmware
Loading...
Searching...
No Matches
can_codec.h File Reference

Force-inlined helpers for generated CAN signal packing and unpacking. More...

#include <stdint.h>
#include <string.h>
Include dependency graph for can_codec.h:

Go to the source code of this file.

Enumerations

enum  bswap_width_t : uint8_t { BSWAP_NONE = 0 , BSWAP_16 = 16 , BSWAP_32 = 32 , BSWAP_64 = 64 }
 

Functions

static uint64_t CAN_apply_bswap (uint64_t raw, bswap_width_t bswap_width)
 
static uint64_t CAN_load_payload_u64 (const uint8_t *data, uint8_t len)
 
static void CAN_store_payload_u64 (uint8_t *dest, uint64_t payload, uint8_t len)
 
static uint64_t CAN_pack_raw_signal (uint64_t payload, uint64_t raw, uint64_t mask, uint8_t bit_shift, bswap_width_t bswap_width)
 
static uint64_t CAN_unpack_raw_signal (uint64_t payload, uint64_t mask, uint8_t bit_shift, bswap_width_t bswap_width)
 
static int64_t CAN_sign_extend_raw (uint64_t raw, uint8_t bit_length)
 
static uint64_t CAN_float32_to_raw (float value)
 
static float CAN_raw_to_float32 (uint64_t raw)
 

Detailed Description

Force-inlined helpers for generated CAN signal packing and unpacking.

Author
Irving Wang (irvin.nosp@m.gw@p.nosp@m.urdue.nosp@m..edu)

Enumeration Type Documentation

◆ bswap_width_t

enum bswap_width_t : uint8_t
Enumerator
BSWAP_NONE 
BSWAP_16 
BSWAP_32 
BSWAP_64 

Function Documentation

◆ CAN_apply_bswap()

static uint64_t CAN_apply_bswap ( uint64_t raw,
bswap_width_t bswap_width )
inlinestatic
Here is the caller graph for this function:

◆ CAN_float32_to_raw()

static uint64_t CAN_float32_to_raw ( float value)
inlinestatic

◆ CAN_load_payload_u64()

static uint64_t CAN_load_payload_u64 ( const uint8_t * data,
uint8_t len )
inlinestatic

◆ CAN_pack_raw_signal()

static uint64_t CAN_pack_raw_signal ( uint64_t payload,
uint64_t raw,
uint64_t mask,
uint8_t bit_shift,
bswap_width_t bswap_width )
inlinestatic
Here is the call graph for this function:

◆ CAN_raw_to_float32()

static float CAN_raw_to_float32 ( uint64_t raw)
inlinestatic

◆ CAN_sign_extend_raw()

static int64_t CAN_sign_extend_raw ( uint64_t raw,
uint8_t bit_length )
inlinestatic

◆ CAN_store_payload_u64()

static void CAN_store_payload_u64 ( uint8_t * dest,
uint64_t payload,
uint8_t len )
inlinestatic

◆ CAN_unpack_raw_signal()

static uint64_t CAN_unpack_raw_signal ( uint64_t payload,
uint64_t mask,
uint8_t bit_shift,
bswap_width_t bswap_width )
inlinestatic
Here is the call graph for this function: