Serial Wombat 18AB Firmware
Classes | Macros | Typedefs | Functions | Variables
types.h File Reference
#include <stdint.h>
#include <stddef.h>

Go to the source code of this file.

Classes

union  mixed32_n
 Union of 32 bit types. Note that on the 18F a RAM pointer is 16 bits, so it's not included here. More...
 
struct  mixed32_n::mixed32_uwords_n
 
union  mixed24_n
 Union of 24 bit types. Specific to C18 compiler. More...
 
union  mixed16_n
 Union of 16 bit types. Also includes pointers for the 18F. More...
 
union  _pin_register_t
 A union representing all the possible pin modes, with meanings for each. More...
 
struct  _pin_register_t::generic_n
 A generic descriptor, typically used to access the buffer and mode variables. More...
 
struct  _pin_register_t::pulse_output_n
 
struct  _pin_register_t::bitstreamOutput_n
 
struct  _pin_register_t::morse_n
 
struct  _pin_register_t::max7219_n
 
struct  _pin_register_t::spi_master_n
 
struct  _pin_register_t::slowpwm_n
 
struct  _pin_register_t::parallel_8n
 
struct  _pin_register_t::hd44780_n
 
struct  _pin_register_t::pulse_n
 
struct  _pin_register_t::datalogger_n
 
struct  _pin_register_t::watchdog_n
 
struct  _pin_register_t::un4step_n
 
struct  _pin_register_t::debounce_n
 
struct  _pin_register_t::button_counter_n
 
struct  _pin_register_t::rotary_encn
 
struct  _pin_register_t::keypad16_n
 
struct  _pin_register_t::uart_rx_n
 
struct  _pin_register_t::uart_tx_n
 
struct  _pin_register_t::remote_n
 
struct  _pin_register_t::sevenseg_n
 
struct  _pin_register_t::hysteresis_n
 
struct  _pin_register_t::counter_n
 
struct  _pin_register_t::quadEnc_n
 
struct  _pin_register_t::servo_n
 
struct  _pin_register_t::ping_n
 
struct  _pin_register_t::diagnostics_n
 
struct  _pin_register_t::pwm_follow_direct_n
 
struct  _pin_register_t::pwm_queue_fixed_period_n
 
struct  _pin_register_t::pwm_queue_variable_period_n
 
struct  _pin_register_t::pwm_sine_n
 
struct  _pin_register_t::ad_filter_1st_order_n
 
struct  _pin_register_t::ad_average_n
 
struct  _pin_register_t::min_max_n
 
struct  _pin_register_t::lookup2d_n
 
struct  _pin_register_t::pid_n
 
struct  _pin_register_t::hw_pulse_width_n
 
union  _pin_register2_t
 
struct  _pin_register2_t::generic2_n
 
struct  _pin_register2_t::servo2_n
 
struct  _pin_register2_t::un4step_2n
 
struct  _pin_register2_t::uart_rx_2n
 
struct  _pin_register2_t::uart_tx_2n
 
struct  _pin_register2_t::remote_2n
 
struct  _pin_register2_t::pwm_queue_variable_period2_n
 
struct  _pin_register2_t::pin_logic2_n
 
struct  _pin_register2_t::diagnostics2_n
 
struct  _pin_register2_t::ping2_n
 
struct  _pin_register2_t::hd44780_n2
 
struct  _pin_register2_t::pulse_n2
 
struct  _pin_register2_t::rotary_enc_n
 
struct  _pin_register2_t::keypad16_2n
 
struct  _pin_register2_t::hysteresis
 
struct  _pin_register2_t::ad_filter_1st_order_n2
 
struct  _pin_register2_t::ad_average_temp_n
 
struct  _pin_register2_t::lookup2d_2n
 
struct  _pin_register2_t::pwm_follow_direct_n2
 
struct  _pin_register2_t::morse_temp_n
 
struct  _pin_register2_t::parallel_82n
 
struct  _pin_register2_t::hw_pulse_width2_n
 
struct  executive_settings_n
 A type which allows multiple boolean variables to be packed into a single byte.
More...
 
struct  communication_settings_n
 
struct  queue_flags_bits_n
 
union  queue_flags_union_n
 
union  generic_queue_n
 
struct  generic_queue_n::ram_queue_n
 
struct  generic_queue_n::flash_queue_n
 
struct  generic_queue_n::ram_rle_byte_queue_n
 
struct  generic_queue_n::ram_rle_word_queue_n
 
struct  generic_queue_n::ram_string_queue_n
 
struct  ram_queue_n
 
struct  flash_queue_n
 
struct  ram_rle_byte_queue_n
 
struct  ram_rle_word_queue_n
 
struct  ram_string_queue_n
 
struct  sin_data_n
 
struct  test_data_n
 

Macros

#define uint8   unsigned char
 
#define int8   signed char
 
#define uint16   unsigned short
 
#define int16   signed short
 
#define uint32   unsigned int
 
#define int32   signed int
 
#define uint24   unsigned long
 
#define int24   signed long
 
#define near
 
#define far
 
#define rom
 

Typedefs

typedef union mixed32_n mixed32_t
 Union of 32 bit types. Note that on the 18F a RAM pointer is 16 bits, so it's not included here. More...
 
typedef union mixed24_n mixed24_t
 Union of 24 bit types. Specific to C18 compiler. More...
 
typedef union mixed16_n mixed16_t
 Union of 16 bit types. Also includes pointers for the 18F. More...
 
typedef union _pin_register_t pin_register_t
 A union representing all the possible pin modes, with meanings for each. More...
 
typedef union _pin_register2_t pin_register2_t
 
typedef struct executive_settings_n executive_settings_t
 A type which allows multiple boolean variables to be packed into a single byte.
More...
 
typedef struct communication_settings_n comm_settings_t
 
typedef struct queue_flags_bits_n queue_flags_bits_t
 
typedef union queue_flags_union_n queue_flags_t
 
typedef struct sin_data_n sin_data_t
 
typedef struct test_data_n test_data_t
 

Functions

union generic_queue_n __attribute__ ((packed)) queue_header_t
 

Variables

uint8 type
 
uint8 addressh
 
uint8 addressl
 
queue_flags_t flags
 
uint8 pad
 
uint16 queuesize
 
uint16 queuelength
 
uint16 head
 
uint8 bitaccess
 
uint8 reserved [5]
 
uint16 flashaddr
 
uint8 escapeval
 
uint16 lastentry
 
uint8 lastval
 
uint8 lastlastval
 
uint8 direction
 
uint8 use_leading1
 
uint8 use_leading2
 
uint8 use_trailing1
 
uint8 use_trailing2
 
uint8 leading_zero
 
uint8 leading_space
 
uint8 leading1
 
uint8 leading2
 
uint8 trailing1
 
uint8 trailing2
 
uint8 mode
 

Macro Definition Documentation

◆ far

#define far

◆ int16

#define int16   signed short

◆ int24

#define int24   signed long

◆ int32

#define int32   signed int

◆ int8

#define int8   signed char

◆ near

#define near

◆ rom

#define rom

◆ uint16

#define uint16   unsigned short

◆ uint24

#define uint24   unsigned long

◆ uint32

#define uint32   unsigned int

◆ uint8

#define uint8   unsigned char

Typedef Documentation

◆ comm_settings_t

◆ executive_settings_t

A type which allows multiple boolean variables to be packed into a single byte.

This is done to save ram and to improve throughput, as single bit operations are very fast on the 18F series of PIC microcontrollers No operation requires the bits in this variable to be in a particular order, so the ANSI compiler variation of bit position in a byte doesn't matter.

◆ mixed16_t

typedef union mixed16_n mixed16_t

Union of 16 bit types. Also includes pointers for the 18F.

◆ mixed24_t

typedef union mixed24_n mixed24_t

Union of 24 bit types. Specific to C18 compiler.

◆ mixed32_t

typedef union mixed32_n mixed32_t

Union of 32 bit types. Note that on the 18F a RAM pointer is 16 bits, so it's not included here.

◆ pin_register2_t

◆ pin_register_t

A union representing all the possible pin modes, with meanings for each.

Each pin mode can have up to 8 bytes of context data, plus 2 bytes for public data, a byte for the mode, 4 bytes for software-driven hardware emulation (such as PWM). An additional byte is undefined, for a total of 16 bytes. This may turn out to be more than 16 bytes on platforms that don't support the proprietary int24 type. The size must remain 16 bytes because of assembly routines that do the copy from the array of pin contexts to the directly accessible tp variable

◆ queue_flags_bits_t

◆ queue_flags_t

◆ sin_data_t

typedef struct sin_data_n sin_data_t

◆ test_data_t

typedef struct test_data_n test_data_t

Function Documentation

◆ __attribute__()

struct ram_string_queue_n __attribute__ ( (packed)  )

Variable Documentation

◆ addressh

uint8 addressh

◆ addressl

uint8 addressl

◆ bitaccess

uint8 bitaccess

◆ direction

uint8 direction

◆ escapeval

uint8 escapeval

◆ flags

◆ flashaddr

uint16 flashaddr

◆ head

uint16 head

◆ lastentry

uint16 lastentry

◆ lastlastval

uint16 lastlastval

◆ lastval

uint16 lastval

◆ leading1

uint8 leading1

◆ leading2

uint8 leading2

◆ leading_space

uint8 leading_space

◆ leading_zero

uint8 leading_zero

◆ mode

uint8 mode

◆ pad

uint8 pad

◆ queuelength

uint16 queuelength

◆ queuesize

uint16 queuesize

◆ reserved

uint8 reserved

◆ trailing1

uint8 trailing1

◆ trailing2

uint8 trailing2

◆ type

uint8 type

◆ use_leading1

uint8 use_leading1

◆ use_leading2

uint8 use_leading2

◆ use_trailing1

uint8 use_trailing1

◆ use_trailing2

uint8 use_trailing2