Serial Wombat 18AB Firmware
Macros | Enumerations | Functions | Variables
utilities.h File Reference
#include "mcc_generated_files/system.h"
#include "types.h"

Go to the source code of this file.

Macros

#define NUMBER_OF_PHYSICAL_PINS   19
 
#define NUMBER_OF_VIRTUAL_PINS   NUMBER_OF_PHYSICAL_PINS
 
#define COMPILING_FIRMWARE
 
#define SIZE_OF_DMA_ARRAY   128
 
#define PHYSICALEQUALSVIRTUALPIN
 
#define RANDOM_ENABLE
 
#define PHYSICALEQUALSVIRTUALPIN
 
#define SIZE_OF_USER_BUFFER   4096
 
#define toggle_pin(_a)   {set_pin (_a, !read_pin(_a));}
 
#define DELAY_CYCLES(_a)   { delay_cycles16(_a);}
 
#define DELAY_1MS()   {delay_cycles16(CRYSTAL_SPEED / 1000); }
 
#define get_tp2(_a)   {get_tp2_asm(_a);}
 
#define put_tp2(_a)   {put_tp2_asm(_a); }
 
#define LOW   0
 
#define HIGH   1
 
#define INPUT   2
 
#define HIGH_BYTE_16(a)   ( (uint8_t) ( a >> 8 ) )
 
#define LOW_BYTE_16(a)   ( (uint8_t) a )
 
#define HIGH_BYTE_32(a)   ( (uint8_t) ( a >> 24 ) )
 
#define MH_BYTE_32(a)   ( (uint8_t) ( (a >> 16) & 0xFF ) )
 
#define ML_BYTE_32(a)   ( (uint8_t) ( (a >> 8) & 0xFF ) )
 
#define LOW_BYTE_32(a)   ( (uint8_t) a )
 
#define set_register_memory(pin, field, value)   {pin_update_registers[pin].field = value;}
 
#define set_register_memory2(pin, field, value)   {((pin_register2_t*)pin_update_registers)[pin].field = value;}
 
#define get_register_memory(pin, field)   pin_update_registers[pin].field
 
#define get_register_memory2(pin, field)   ((pin_register2_t*)pin_update_registers)[pin].field
 
#define set_mode(_a, _b)   {pin_update_registers[_a].generic.mode = _b;}
 
#define get_mode(pin)   pin_update_registers[pin].generic.mode
 
#define set_hw_mode(_a, _b)   {pin_update_registers[_a].generic.hw_mode = _b;}
 
#define set_hw_option(_a, _b)   {pin_update_registers[_a].generic.duty_cycle = _b;}
 
#define get_hw_option(_a)   pin_update_registers[_a].generic.duty_cycle
 
#define set_buffer(a, b)   {pin_update_registers[a].generic.buffer = b;}
 
#define ENABLE_CCP1_CAPTURE()   { PIE1bits.CCP1IE = 1; }
 
#define DISABLE_CCP1_CAPTURE()   { PIE1bits.CCP1IE = 0; }
 
#define ENABLE_CCP2_CAPTURE()   { PIE2bits.CCP2IE = 1; }
 
#define DISABLE_CCP2_CAPTURE()   { PIE2bits.CCP2IE = 0; }
 
#define ENABLE_INT0_CAPTURE()   { INTCONbits.INT0IE = 1; }
 
#define DISABLE_INT0_CAPTURE()   { INTCONbits.INT0IE = 0; }
 
#define ENABLE_INT1_CAPTURE()   { INTCON3bits.INT1IE = 1; }
 
#define DISABLE_INT1_CAPTURE()   { INTCON3bits.INT1IE = 0; }
 
#define ENABLE_INT2_CAPTURE()   { INTCON3bits.INT2IE = 1; }
 
#define DISABLE_INT2_CAPTURE()   { INTCON3bits.INT2IE = 0; }
 
#define RXBUFFER16(a)   ((((uint16_t)rxbuffer[a]) <<8) + rxbuffer[a + 1])
 
#define ASSIGN_RXBUFFER16(dest, a)
 
#define map_pin(_a)   (_a)
 
#define unmap_pin(_a)   _a
 
#define DISABLE_ALL_INTERRUPTS()   {INTCONbits.GIEL = 0; INTCONbits.GIEH = 0; }
 
#define ENABLE_ALL_INTERRUPTS()   {INTCONbits.GIEL = 1; INTCONbits.GIEH = 1; }
 
#define SET_BAUD_RATE(_a)   { SPBRG = (CRYSTAL_SPEED / ((uint32_t)_a) / 64 - 1) & 0x00FF; }
 
#define OUTPUT_ARRAY_A_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT0)
 
#define OUTPUT_ARRAY_B_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT1)
 
#define INPUT_ARRAY_A_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT2)
 
#define INPUT_ARRAY_B_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT3)
 
#define BROADCAST_ADDRESS   0xFF
 
#define BUFFER_RANDOM_NUMBER   253
 
#define BUFFER_ZERO_VALUE   252
 
#define BUFFER_UART_RX_OVERFLOWS   251
 
#define BUFFER_CLOCK_SECONDS   250
 
#define BUFFER_CLOCK_MINUTES   249
 
#define BUFFER_CLOCK_HOURS   248
 
#define BUFFER_CLOCK_DAYS   247
 
#define BUFFER_RX_INTERRUPTS   246
 
#define BUFFER_TX_INTERRUPTS   245
 
#define BUFFER_SINE_SUM_3   244
 
#define BUFFER_SINE_SUM_2   243
 
#define BUFFER_SINE_3   242
 
#define BUFFER_SINE_2   241
 
#define BUFFER_SINE_1   240
 
#define BUFFER_INCREMENTING_NUMBER   239
 
#define BUFFER_LAST_QUEUE_UNDERFLOW   238
 
#define BUFFER_LAST_QUEUE_OVERFLOW   237
 
#define BUFFER_PINS2345671413   236
 
#define BUFFER_PINS1516171823242526   235
 
#define BUFFER_PINS1920212227282930   234
 
#define BUFFER_PINS3334353637383940   233
 
#define BUFFER_FREE_RUNNING_TIMER   232
 
#define BUFFER_INTERRUPT_OCCURRED   231
 
#define BUFFER_NUM_OF_DROPPED_FRAMES   230
 
#define BUFFER_TO_USER_RAM   160
 
#define BUFFER_TO_USER_RAM_MAX   200
 
#define SYSINFO_VERSION   0
 
#define SYSINFO_CONFIG_BITS_1   1
 
#define SYSINFO_CONFIG_BITS_2   2
 
#define SYSINFO_CONFIG_BITS_3   3
 
#define SYSINFO_FRAME_COUNTER   4
 
#define SYSINFO_RX_INTERRUPTS   5
 
#define SYSINFO_TX_INTERRUPTS   6
 
#define SYSINFO_AD_INTERRUPTS   7
 
#define SYSINFO_THROUGHPUT_INFO   8
 
#define SYSINFO_FREE_RUNNING_TIMER   9
 
#define SYSINFO_CHIP_ID   10
 
#define SYSINFO_FRAME_DATA   11
 
#define SYSINFO_BAUD_RATE   12
 
#define SYSINFO_RESET_REGISTER   13
 
#define SYSINFO_USER_RAM_SIZE   14
 

Enumerations

enum  PPSOutputVal_t {
  PPS_OUTPUT_None = 0, PPS_OUTPUT_C1OUT = 1, PPS_OUTPUT_C2OUT = 2, PPS_OUTPUT_U1TX = 3,
  PPS_OUTPUT_U1RTS = 4, PPS_OUTPUT_U2TX = 5, PPS_OUTPUT_U2RTS = 6, PPS_OUTPUT_SDO1 = 7,
  PPS_OUTPUT_SCK1OUT = 8, PPS_OUTPUT_SS1OUT = 9, PPS_OUTPUT_SDO2 = 10, PPS_OUTPUT_SCK2OUT = 11,
  PPS_OUTPUT_SS2OUT = 12, PPS_OUTPUT_OC1 = 13, PPS_OUTPUT_OC2 = 14, PPS_OUTPUT_OC3 = 15,
  PPS_OUTPUT_OCM2A = 16, PPS_OUTPUT_OCM2B = 17, PPS_OUTPUT_OCM3A = 18, PPS_OUTPUT_OCM3B = 19,
  PPS_OUTPUT_OCM4A = 20, PPS_OUTPUT_OCM4B = 21, PPS_OUTPUT_Reserved = 22, PPS_OUTPUT_SDO3 = 23,
  PPS_OUTPUT_SCK3OUT = 24, PPS_OUTPUT_SS3OUT = 25, PPS_OUTPUT_C3OUT = 26, PPS_OUTPUT_PWRGT = 27,
  PPS_OUTPUT_REFO = 28, PPS_OUTPUT_CLC1OUT = 29, PPS_OUTPUT_CLC2OUT = 30, PPS_OUTPUT_RTCC = 31
}
 

Functions

uint8_t map_physical_pin_ad (uint8_t pin)
 
uint8_t read_pin (uint8_t pin)
 
void set_pin (uint8_t pin, uint8_t mode)
 
void vpin_high (void)
 
void delay_timer3_ticks (uint16_t ticks)
 
void vpin_low (void)
 
void vpin_input (void)
 
void vpin_set (uint8_t state)
 
void pin_high (uint8_t pin)
 
void pin_low (uint8_t pin)
 
void pin_input (uint8_t pin)
 
void EEPROM_WRITE (uint16_t address, uint8_t value)
 
uint16_t read_ad (uint8_t virtual_pin)
 
uint16_t vread_ad (void)
 
uint8_t vpin_read (void)
 
uint8_t ascii_to_val (uint8_t)
 
uint8_t val_to_ascii (uint8_t)
 
void val16_to_hex (mixed16_t val, uint8_t *string)
 
uint16_t hex_ascii_to_val16 (uint8_t *ptr, uint8_t counter)
 
uint32_t hex_ascii_to_val32 (uint8_t *ptr, uint8_t counter)
 
uint16_t rx_dec_ascii_to_val16 (uint8_t rxbufferindex, uint8_t counter)
 
uint32_t dec_ascii_to_val32 (uint8_t *ptr, uint8_t counter)
 
uint32_t read_free_running_timer (void)
 
uint8_t get_user_buffer (uint16_t offset)
 
void put_user_buffer (uint16_t offset, uint8_t data)
 
void get_user_buffer_block (uint16_t offset, uint16_t length, uint8_t *dest)
 
void put_user_buffer_block (uint16_t offset, uint16_t length, uint8_t *source)
 
void set_pwm (uint8_t virtual_pin, uint16_t width)
 
void vset_pwm (uint16_t width)
 
void update_pwm (void)
 
uint16_t get_buffer (uint8_t)
 
void put_buffer (uint8_t, uint16_t)
 
uint8_t get_pin_registers (void)
 
void put_pin_registers (void)
 
void vpulse_high (uint16_t cycles)
 
uint8_t slow_SPI00_send (uint8_t data, uint8_t delay, uint8_t clkpin, uint8_t sdipin, uint8_t sdopin)
 
void delay_cycles16 (uint16_t cycles)
 
void put_tp2_asm (uint8_t pin)
 
void get_tp2_asm (uint8_t pin)
 
uint16_t random (void)
 
void random_seed (uint32_t)
 
uint16_t gen_sin_wave (uint8_t wavenum)
 
void error (void)
 
uint16_t vpinBitmap (void)
 
uint8_t vpinPort (void)
 
uint8_t getDMAInputSample (uint8_t pin, uint8_t sample)
 
void updatePulseOutput (uint8_t pin)
 
void SPI_Transfer (uint8_t cs_pin, uint8_t clk_pin, uint8_t MOSI_pin, uint8_t MISO_pin, uint8_t *MOSI_Buffer, uint8_t *MISO_Buffer, uint16_t Count)
 

Variables

const rom uint8_t uint8_bitfield_invert [8]
 
const rom uint16_t uint16_bitfield [16]
 
const rom uint8_t uint8_bitfield [8]
 
const rom uint8_t uint8_bitlowermask [8]
 
const rom uint8_t map_next_physical_pin [NUMBER_OF_PHYSICAL_PINS+1]
 
uint8_t virtual_pin
 
pin_register_ttp
 
pin_register2_ttp2
 
pin_register_t pin_update_registers [NUMBER_OF_PHYSICAL_PINS]
 
uint16_t OutputArrayA [SIZE_OF_DMA_ARRAY]
 
uint16_t OutputArrayB [SIZE_OF_DMA_ARRAY]
 
uint16_t InputArrayA [SIZE_OF_DMA_ARRAY]
 
uint16_t InputArrayB [SIZE_OF_DMA_ARRAY]
 
const uint16_t PinBitmapA [NUMBER_OF_PHYSICAL_PINS]
 
const uint16_t PinBitmapB [NUMBER_OF_PHYSICAL_PINS]
 
uint8_t rxbuffer []
 
uint8_t txbuffer []
 
executive_settings_t executive_settings
 
uint8_t user_buffer [SIZE_OF_USER_BUFFER]
 

Macro Definition Documentation

◆ ASSIGN_RXBUFFER16

#define ASSIGN_RXBUFFER16 (   dest,
 
)
Value:
{ \
((mixed16_t*)&dest)->bytes.highbyte = rxbuffer[a]; \
((mixed16_t*)&dest)->bytes.lowbyte = rxbuffer[a+1]; \
}

◆ BROADCAST_ADDRESS

#define BROADCAST_ADDRESS   0xFF

◆ BUFFER_CLOCK_DAYS

#define BUFFER_CLOCK_DAYS   247

◆ BUFFER_CLOCK_HOURS

#define BUFFER_CLOCK_HOURS   248

◆ BUFFER_CLOCK_MINUTES

#define BUFFER_CLOCK_MINUTES   249

◆ BUFFER_CLOCK_SECONDS

#define BUFFER_CLOCK_SECONDS   250

◆ BUFFER_FREE_RUNNING_TIMER

#define BUFFER_FREE_RUNNING_TIMER   232

◆ BUFFER_INCREMENTING_NUMBER

#define BUFFER_INCREMENTING_NUMBER   239

◆ BUFFER_INTERRUPT_OCCURRED

#define BUFFER_INTERRUPT_OCCURRED   231

◆ BUFFER_LAST_QUEUE_OVERFLOW

#define BUFFER_LAST_QUEUE_OVERFLOW   237

◆ BUFFER_LAST_QUEUE_UNDERFLOW

#define BUFFER_LAST_QUEUE_UNDERFLOW   238

◆ BUFFER_NUM_OF_DROPPED_FRAMES

#define BUFFER_NUM_OF_DROPPED_FRAMES   230

◆ BUFFER_PINS1516171823242526

#define BUFFER_PINS1516171823242526   235

◆ BUFFER_PINS1920212227282930

#define BUFFER_PINS1920212227282930   234

◆ BUFFER_PINS2345671413

#define BUFFER_PINS2345671413   236

◆ BUFFER_PINS3334353637383940

#define BUFFER_PINS3334353637383940   233

◆ BUFFER_RANDOM_NUMBER

#define BUFFER_RANDOM_NUMBER   253

◆ BUFFER_RX_INTERRUPTS

#define BUFFER_RX_INTERRUPTS   246

◆ BUFFER_SINE_1

#define BUFFER_SINE_1   240

◆ BUFFER_SINE_2

#define BUFFER_SINE_2   241

◆ BUFFER_SINE_3

#define BUFFER_SINE_3   242

◆ BUFFER_SINE_SUM_2

#define BUFFER_SINE_SUM_2   243

◆ BUFFER_SINE_SUM_3

#define BUFFER_SINE_SUM_3   244

◆ BUFFER_TO_USER_RAM

#define BUFFER_TO_USER_RAM   160

◆ BUFFER_TO_USER_RAM_MAX

#define BUFFER_TO_USER_RAM_MAX   200

◆ BUFFER_TX_INTERRUPTS

#define BUFFER_TX_INTERRUPTS   245

◆ BUFFER_UART_RX_OVERFLOWS

#define BUFFER_UART_RX_OVERFLOWS   251

◆ BUFFER_ZERO_VALUE

#define BUFFER_ZERO_VALUE   252

◆ COMPILING_FIRMWARE

#define COMPILING_FIRMWARE

◆ DELAY_1MS

#define DELAY_1MS ( )    {delay_cycles16(CRYSTAL_SPEED / 1000); }

◆ DELAY_CYCLES

#define DELAY_CYCLES (   _a)    { delay_cycles16(_a);}

◆ DISABLE_ALL_INTERRUPTS

#define DISABLE_ALL_INTERRUPTS ( )    {INTCONbits.GIEL = 0; INTCONbits.GIEH = 0; }

◆ DISABLE_CCP1_CAPTURE

#define DISABLE_CCP1_CAPTURE ( )    { PIE1bits.CCP1IE = 0; }

◆ DISABLE_CCP2_CAPTURE

#define DISABLE_CCP2_CAPTURE ( )    { PIE2bits.CCP2IE = 0; }

◆ DISABLE_INT0_CAPTURE

#define DISABLE_INT0_CAPTURE ( )    { INTCONbits.INT0IE = 0; }

◆ DISABLE_INT1_CAPTURE

#define DISABLE_INT1_CAPTURE ( )    { INTCON3bits.INT1IE = 0; }

◆ DISABLE_INT2_CAPTURE

#define DISABLE_INT2_CAPTURE ( )    { INTCON3bits.INT2IE = 0; }

◆ ENABLE_ALL_INTERRUPTS

#define ENABLE_ALL_INTERRUPTS ( )    {INTCONbits.GIEL = 1; INTCONbits.GIEH = 1; }

◆ ENABLE_CCP1_CAPTURE

#define ENABLE_CCP1_CAPTURE ( )    { PIE1bits.CCP1IE = 1; }

◆ ENABLE_CCP2_CAPTURE

#define ENABLE_CCP2_CAPTURE ( )    { PIE2bits.CCP2IE = 1; }

◆ ENABLE_INT0_CAPTURE

#define ENABLE_INT0_CAPTURE ( )    { INTCONbits.INT0IE = 1; }

◆ ENABLE_INT1_CAPTURE

#define ENABLE_INT1_CAPTURE ( )    { INTCON3bits.INT1IE = 1; }

◆ ENABLE_INT2_CAPTURE

#define ENABLE_INT2_CAPTURE ( )    { INTCON3bits.INT2IE = 1; }

◆ get_hw_option

#define get_hw_option (   _a)    pin_update_registers[_a].generic.duty_cycle

◆ get_mode

#define get_mode (   pin)    pin_update_registers[pin].generic.mode

◆ get_register_memory

#define get_register_memory (   pin,
  field 
)    pin_update_registers[pin].field

◆ get_register_memory2

#define get_register_memory2 (   pin,
  field 
)    ((pin_register2_t*)pin_update_registers)[pin].field

◆ get_tp2

#define get_tp2 (   _a)    {get_tp2_asm(_a);}

◆ HIGH

#define HIGH   1

◆ HIGH_BYTE_16

#define HIGH_BYTE_16 (   a)    ( (uint8_t) ( a >> 8 ) )

◆ HIGH_BYTE_32

#define HIGH_BYTE_32 (   a)    ( (uint8_t) ( a >> 24 ) )

◆ INPUT

#define INPUT   2

◆ INPUT_ARRAY_A_DMA_INDEX

#define INPUT_ARRAY_A_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT2)

◆ INPUT_ARRAY_B_DMA_INDEX

#define INPUT_ARRAY_B_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT3)

◆ LOW

#define LOW   0

◆ LOW_BYTE_16

#define LOW_BYTE_16 (   a)    ( (uint8_t) a )

◆ LOW_BYTE_32

#define LOW_BYTE_32 (   a)    ( (uint8_t) a )

◆ map_pin

#define map_pin (   _a)    (_a)

◆ MH_BYTE_32

#define MH_BYTE_32 (   a)    ( (uint8_t) ( (a >> 16) & 0xFF ) )

◆ ML_BYTE_32

#define ML_BYTE_32 (   a)    ( (uint8_t) ( (a >> 8) & 0xFF ) )

◆ NUMBER_OF_PHYSICAL_PINS

#define NUMBER_OF_PHYSICAL_PINS   19

◆ NUMBER_OF_VIRTUAL_PINS

#define NUMBER_OF_VIRTUAL_PINS   NUMBER_OF_PHYSICAL_PINS

◆ OUTPUT_ARRAY_A_DMA_INDEX

#define OUTPUT_ARRAY_A_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT0)

◆ OUTPUT_ARRAY_B_DMA_INDEX

#define OUTPUT_ARRAY_B_DMA_INDEX   (SIZE_OF_DMA_ARRAY - DMACNT1)

◆ PHYSICALEQUALSVIRTUALPIN [1/2]

#define PHYSICALEQUALSVIRTUALPIN

◆ PHYSICALEQUALSVIRTUALPIN [2/2]

#define PHYSICALEQUALSVIRTUALPIN

◆ put_tp2

#define put_tp2 (   _a)    {put_tp2_asm(_a); }

◆ RANDOM_ENABLE

#define RANDOM_ENABLE

◆ RXBUFFER16

#define RXBUFFER16 (   a)    ((((uint16_t)rxbuffer[a]) <<8) + rxbuffer[a + 1])

◆ SET_BAUD_RATE

#define SET_BAUD_RATE (   _a)    { SPBRG = (CRYSTAL_SPEED / ((uint32_t)_a) / 64 - 1) & 0x00FF; }

◆ set_buffer

#define set_buffer (   a,
 
)    {pin_update_registers[a].generic.buffer = b;}

◆ set_hw_mode

#define set_hw_mode (   _a,
  _b 
)    {pin_update_registers[_a].generic.hw_mode = _b;}

◆ set_hw_option

#define set_hw_option (   _a,
  _b 
)    {pin_update_registers[_a].generic.duty_cycle = _b;}

◆ set_mode

#define set_mode (   _a,
  _b 
)    {pin_update_registers[_a].generic.mode = _b;}

◆ set_register_memory

#define set_register_memory (   pin,
  field,
  value 
)    {pin_update_registers[pin].field = value;}

◆ set_register_memory2

#define set_register_memory2 (   pin,
  field,
  value 
)    {((pin_register2_t*)pin_update_registers)[pin].field = value;}

◆ SIZE_OF_DMA_ARRAY

#define SIZE_OF_DMA_ARRAY   128

◆ SIZE_OF_USER_BUFFER

#define SIZE_OF_USER_BUFFER   4096

◆ SYSINFO_AD_INTERRUPTS

#define SYSINFO_AD_INTERRUPTS   7

◆ SYSINFO_BAUD_RATE

#define SYSINFO_BAUD_RATE   12

◆ SYSINFO_CHIP_ID

#define SYSINFO_CHIP_ID   10

◆ SYSINFO_CONFIG_BITS_1

#define SYSINFO_CONFIG_BITS_1   1

◆ SYSINFO_CONFIG_BITS_2

#define SYSINFO_CONFIG_BITS_2   2

◆ SYSINFO_CONFIG_BITS_3

#define SYSINFO_CONFIG_BITS_3   3

◆ SYSINFO_FRAME_COUNTER

#define SYSINFO_FRAME_COUNTER   4

◆ SYSINFO_FRAME_DATA

#define SYSINFO_FRAME_DATA   11

◆ SYSINFO_FREE_RUNNING_TIMER

#define SYSINFO_FREE_RUNNING_TIMER   9

◆ SYSINFO_RESET_REGISTER

#define SYSINFO_RESET_REGISTER   13

◆ SYSINFO_RX_INTERRUPTS

#define SYSINFO_RX_INTERRUPTS   5

◆ SYSINFO_THROUGHPUT_INFO

#define SYSINFO_THROUGHPUT_INFO   8

◆ SYSINFO_TX_INTERRUPTS

#define SYSINFO_TX_INTERRUPTS   6

◆ SYSINFO_USER_RAM_SIZE

#define SYSINFO_USER_RAM_SIZE   14

◆ SYSINFO_VERSION

#define SYSINFO_VERSION   0

◆ toggle_pin

#define toggle_pin (   _a)    {set_pin (_a, !read_pin(_a));}

◆ unmap_pin

#define unmap_pin (   _a)    _a

Enumeration Type Documentation

◆ PPSOutputVal_t

Enumerator
PPS_OUTPUT_None 
PPS_OUTPUT_C1OUT 
PPS_OUTPUT_C2OUT 
PPS_OUTPUT_U1TX 
PPS_OUTPUT_U1RTS 
PPS_OUTPUT_U2TX 
PPS_OUTPUT_U2RTS 
PPS_OUTPUT_SDO1 
PPS_OUTPUT_SCK1OUT 
PPS_OUTPUT_SS1OUT 
PPS_OUTPUT_SDO2 
PPS_OUTPUT_SCK2OUT 
PPS_OUTPUT_SS2OUT 
PPS_OUTPUT_OC1 
PPS_OUTPUT_OC2 
PPS_OUTPUT_OC3 
PPS_OUTPUT_OCM2A 
PPS_OUTPUT_OCM2B 
PPS_OUTPUT_OCM3A 
PPS_OUTPUT_OCM3B 
PPS_OUTPUT_OCM4A 
PPS_OUTPUT_OCM4B 
PPS_OUTPUT_Reserved 
PPS_OUTPUT_SDO3 
PPS_OUTPUT_SCK3OUT 
PPS_OUTPUT_SS3OUT 
PPS_OUTPUT_C3OUT 
PPS_OUTPUT_PWRGT 
PPS_OUTPUT_REFO 
PPS_OUTPUT_CLC1OUT 
PPS_OUTPUT_CLC2OUT 
PPS_OUTPUT_RTCC 

Function Documentation

◆ ascii_to_val()

uint8_t ascii_to_val ( uint8_t  )

◆ dec_ascii_to_val32()

uint32_t dec_ascii_to_val32 ( uint8_t *  ptr,
uint8_t  counter 
)

◆ delay_cycles16()

void delay_cycles16 ( uint16_t  cycles)

◆ delay_timer3_ticks()

void delay_timer3_ticks ( uint16_t  ticks)

◆ EEPROM_WRITE()

void EEPROM_WRITE ( uint16_t  address,
uint8_t  value 
)

◆ error()

void error ( void  )

◆ gen_sin_wave()

uint16_t gen_sin_wave ( uint8_t  wavenum)

◆ get_buffer()

uint16_t get_buffer ( uint8_t  )

◆ get_pin_registers()

uint8_t get_pin_registers ( void  )

◆ get_tp2_asm()

void get_tp2_asm ( uint8_t  pin)

◆ get_user_buffer()

uint8_t get_user_buffer ( uint16_t  offset)

◆ get_user_buffer_block()

void get_user_buffer_block ( uint16_t  offset,
uint16_t  length,
uint8_t *  dest 
)

◆ getDMAInputSample()

uint8_t getDMAInputSample ( uint8_t  pin,
uint8_t  sample 
)

◆ hex_ascii_to_val16()

uint16_t hex_ascii_to_val16 ( uint8_t *  ptr,
uint8_t  counter 
)

◆ hex_ascii_to_val32()

uint32_t hex_ascii_to_val32 ( uint8_t *  ptr,
uint8_t  counter 
)

◆ map_physical_pin_ad()

uint8_t map_physical_pin_ad ( uint8_t  pin)

◆ pin_high()

void pin_high ( uint8_t  pin)

◆ pin_input()

void pin_input ( uint8_t  pin)

◆ pin_low()

void pin_low ( uint8_t  pin)

◆ put_buffer()

void put_buffer ( uint8_t  ,
uint16_t   
)

◆ put_pin_registers()

void put_pin_registers ( void  )

◆ put_tp2_asm()

void put_tp2_asm ( uint8_t  pin)

◆ put_user_buffer()

void put_user_buffer ( uint16_t  offset,
uint8_t  data 
)

◆ put_user_buffer_block()

void put_user_buffer_block ( uint16_t  offset,
uint16_t  length,
uint8_t *  source 
)

◆ random()

uint16_t random ( void  )

◆ random_seed()

void random_seed ( uint32_t  )

◆ read_ad()

uint16_t read_ad ( uint8_t  virtual_pin)

◆ read_free_running_timer()

uint32_t read_free_running_timer ( void  )

◆ read_pin()

uint8_t read_pin ( uint8_t  pin)

◆ rx_dec_ascii_to_val16()

uint16_t rx_dec_ascii_to_val16 ( uint8_t  rxbufferindex,
uint8_t  counter 
)

◆ set_pin()

void set_pin ( uint8_t  pin,
uint8_t  mode 
)

◆ set_pwm()

void set_pwm ( uint8_t  virtual_pin,
uint16_t  width 
)

◆ slow_SPI00_send()

uint8_t slow_SPI00_send ( uint8_t  data,
uint8_t  delay,
uint8_t  clkpin,
uint8_t  sdipin,
uint8_t  sdopin 
)

◆ SPI_Transfer()

void SPI_Transfer ( uint8_t  cs_pin,
uint8_t  clk_pin,
uint8_t  MOSI_pin,
uint8_t  MISO_pin,
uint8_t *  MOSI_Buffer,
uint8_t *  MISO_Buffer,
uint16_t  Count 
)

◆ update_pwm()

void update_pwm ( void  )

◆ updatePulseOutput()

void updatePulseOutput ( uint8_t  pin)

◆ val16_to_hex()

void val16_to_hex ( mixed16_t  val,
uint8_t *  string 
)

◆ val_to_ascii()

uint8_t val_to_ascii ( uint8_t  )

◆ vpin_high()

void vpin_high ( void  )

◆ vpin_input()

void vpin_input ( void  )

◆ vpin_low()

void vpin_low ( void  )

◆ vpin_read()

uint8_t vpin_read ( void  )

◆ vpin_set()

void vpin_set ( uint8_t  state)

◆ vpinBitmap()

uint16_t vpinBitmap ( void  )

◆ vpinPort()

uint8_t vpinPort ( void  )

◆ vpulse_high()

void vpulse_high ( uint16_t  cycles)

◆ vread_ad()

uint16_t vread_ad ( void  )

◆ vset_pwm()

void vset_pwm ( uint16_t  width)

Variable Documentation

◆ executive_settings

executive_settings_t executive_settings

◆ InputArrayA

uint16_t InputArrayA[SIZE_OF_DMA_ARRAY]

◆ InputArrayB

uint16_t InputArrayB[SIZE_OF_DMA_ARRAY]

◆ map_next_physical_pin

const rom uint8_t map_next_physical_pin[NUMBER_OF_PHYSICAL_PINS+1]

◆ OutputArrayA

uint16_t OutputArrayA[SIZE_OF_DMA_ARRAY]

◆ OutputArrayB

uint16_t OutputArrayB[SIZE_OF_DMA_ARRAY]

◆ pin_update_registers

pin_register_t pin_update_registers[NUMBER_OF_PHYSICAL_PINS]

◆ PinBitmapA

const uint16_t PinBitmapA[NUMBER_OF_PHYSICAL_PINS]

◆ PinBitmapB

const uint16_t PinBitmapB[NUMBER_OF_PHYSICAL_PINS]

◆ rxbuffer

uint8_t rxbuffer[]

◆ tp

◆ tp2

◆ txbuffer

uint8_t txbuffer[]

◆ uint16_bitfield

const rom uint16_t uint16_bitfield[16]

◆ uint8_bitfield

const rom uint8_t uint8_bitfield[8]

◆ uint8_bitfield_invert

const rom uint8_t uint8_bitfield_invert[8]

◆ uint8_bitlowermask

const rom uint8_t uint8_bitlowermask[8]

◆ user_buffer

uint8_t user_buffer[SIZE_OF_USER_BUFFER]

◆ virtual_pin

uint8_t virtual_pin
rxbuffer
uint8_t rxbuffer[]
mixed16_n
Union of 16 bit types. Also includes pointers for the 18F.
Definition: types.h:142