dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
PipXtreme Radio

Modules

 CMSIS
 

Files

file  pios_board.c
 Board specific initialization for the bootloader.
 
file  pios_config.h
 Board specific bootloader configuration file for PiOS.
 
file  board_hw_defs.c
 Defines board specific static initializers for PipXtreme.
 
file  cmsis_system.c
 CMSIS Cortex-M3 Device Peripheral Access Layer System Source File.
 
file  pios_board.h
 Board header file for PipXtreme.
 
file  pios_board.c
 The board specific initialization routines.
 
file  pios_config.h
 Board specific options that modify PiOS capabilities.
 

Macros

#define PIOS_INCLUDE_BL_HELPER
 
#define PIOS_INCLUDE_BL_HELPER_WRITE_SUPPORT
 
#define PIOS_INCLUDE_ANNUNC
 
#define PIOS_INCLUDE_SYS
 
#define PIOS_INCLUDE_USB
 
#define PIOS_INCLUDE_USB_HID
 
#define PIOS_INCLUDE_COM_MSG
 
#define PIOS_INCLUDE_IAP
 
#define LOG_FILENAME   "PIOS.LOG"
 
#define STARTUP_LOG_ENABLED   1
 
#define TAULINK_VERSION_STICK   0x01
 
#define TAULINK_VERSION_MODULE   0x02
 
#define BOARD_READABLE   true
 
#define BOARD_WRITABLE   true
 
#define MAX_DEL_RETRYS   3
 
#define PIOS_WATCHDOG_TIMEOUT   500
 
#define PIOS_WDG_REGISTER   BKP_DR4
 
#define PIOS_WDG_TELEMETRY   0x0100
 
#define PIOS_WDG_RADIORX   0x0200
 
#define PIOS_WDG_RFM22B   0x0400
 
#define PIOS_WDG_SYSTEM   0x0800
 
#define PIOS_LED_USB   0
 
#define PIOS_LED_LINK   1
 
#define PIOS_LED_RX   2
 
#define PIOS_LED_TX   3
 
#define PIOS_LED_HEARTBEAT   PIOS_LED_USB
 
#define PIOS_LED_ALARM   PIOS_LED_TX
 
#define USB_LED_ON   PIOS_ANNUNC_On(PIOS_LED_USB)
 
#define USB_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_USB)
 
#define USB_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_USB)
 
#define LINK_LED_ON   PIOS_ANNUNC_On(PIOS_LED_LINK)
 
#define LINK_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_LINK)
 
#define LINK_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_LINK)
 
#define RX_LED_ON   PIOS_ANNUNC_On(PIOS_LED_RX)
 
#define RX_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_RX)
 
#define RX_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_RX)
 
#define TX_LED_ON   PIOS_ANNUNC_On(PIOS_LED_TX)
 
#define TX_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_TX)
 
#define TX_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_TX)
 
#define PIOS_SYSCLK   72000000
 
#define PIOS_PERIPHERAL_APB1_CLOCK   (PIOS_SYSCLK / 2)
 
#define PIOS_PERIPHERAL_APB2_CLOCK   (PIOS_SYSCLK / 1)
 
#define PIOS_IRQ_PRIO_LOW   12
 
#define PIOS_IRQ_PRIO_MID   8
 
#define PIOS_IRQ_PRIO_HIGH   5
 
#define PIOS_IRQ_PRIO_HIGHEST   4
 
#define PIOS_COM_TELEM_USB   (pios_com_telem_usb_id)
 
#define PIOS_COM_VCP   (pios_com_vcp_id)
 
#define PIOS_COM_BRIDGE   (pios_com_bridge_id)
 
#define PIOS_COM_RADIOBRIDGE   (pios_com_rf_id)
 
#define PIOS_PPM_RECEIVER   (pios_ppm_rcvr_id)
 
#define PIOS_COM_DEBUG   (pios_com_debug_id)
 
#define PIOS_COM_FRSKY_SPORT   (pios_com_frsky_sport_id)
 
#define DEBUG_LEVEL   0
 
#define DEBUG_PRINTF(level,...)   {if(level <= DEBUG_LEVEL && PIOS_COM_DEBUG > 0) { PIOS_COM_SendFormattedStringNonBlocking(PIOS_COM_DEBUG, __VA_ARGS__); }}
 
#define RFM22_DEBUG   1
 
#define PIOS_ADC_MAX_OVERSAMPLING   36
 
#define VREF_PLUS   3.3
 
#define PIOS_RCVR_MAX_CHANNELS   12
 
#define PIOS_PPM_NUM_INPUTS   8
 
#define PIOS_SBUS_NUM_INPUTS   (16+2)
 
#define PIOS_SERVO_UPDATE_HZ   50
 
#define PIOS_SERVOS_INITIAL_POSITION   0 /* dont want to start motors, have no pulse till settings loaded */
 
#define PIOS_TIM_MAX_DEVS   3
 
#define PIOS_USB_ENABLED   1
 
#define PIOS_USB_DETECT_GPIO_PORT   GPIOC
 
#define PIOS_USB_DETECT_GPIO_PIN   GPIO_Pin_15
 
#define PIOS_USB_DETECT_EXTI_LINE   EXTI_Line15
 
#define PIOS_FLASH_SIZE   0x20000
 
#define PIOS_FLASH_EEPROM_START_ADDR   0x08000000
 
#define PIOS_FLASH_PAGE_SIZE   1024
 
#define PIOS_FLASH_EEPROM_ADDR   (PIOS_FLASH_EEPROM_START_ADDR + PIOS_FLASH_SIZE - PIOS_FLASH_PAGE_SIZE)
 
#define PIOS_FLASH_EEPROM_LEN   PIOS_FLASH_PAGE_SIZE
 
#define PIOS_COM_TELEM_RX_BUF_LEN   450
 
#define PIOS_COM_TELEM_TX_BUF_LEN   450
 
#define PIOS_COM_FRSKYSPORT_TX_BUF_LEN   24
 
#define PIOS_INCLUDE_ANNUNC
 
#define PIOS_INCLUDE_IAP
 
#define PIOS_INCLUDE_RCVR
 
#define PIOS_INCLUDE_TIM
 
#define PIOS_INCLUDE_OPENLRS
 
#define PIOS_INCLUDE_OPENLRS_RCVR
 
#define PIOS_INCLUDE_UAVTALKRCVR
 
#define PIOS_INCLUDE_PPM
 
#define PIOS_INCLUDE_SBUS
 
#define PIOS_INCLUDE_SPI
 
#define PIOS_INCLUDE_SYS
 
#define PIOS_INCLUDE_USART
 
#define PIOS_INCLUDE_USB
 
#define PIOS_INCLUDE_USB_HID
 
#define PIOS_INCLUDE_USB_CDC
 
#define PIOS_INCLUDE_COM
 
#define PIOS_INCLUDE_CHIBIOS
 
#define PIOS_INCLUDE_EXTI
 
#define PIOS_INCLUDE_RTC
 
#define PIOS_INCLUDE_WDG
 
#define PIOS_INCLUDE_BL_HELPER
 
#define PIOS_INCLUDE_TARANIS_SPORT
 
#define PIOS_INCLUDE_FRSKY_SPORT_TELEMETRY
 
#define PIOS_INCLUDE_FLASH
 
#define PIOS_INCLUDE_FLASH_INTERNAL
 
#define PIOS_INCLUDE_LOGFS_SETTINGS
 
#define LOG_FILENAME   "PIOS.LOG"
 
#define STARTUP_LOG_ENABLED   1
 
#define GPS_BAUDRATE   19200
 
#define TELEM_BAUDRATE   19200
 
#define AUXUART_ENABLED   0
 
#define AUXUART_BAUDRATE   19200
 
#define HEAP_LIMIT_WARNING   220
 
#define HEAP_LIMIT_CRITICAL   40
 
#define IRQSTACK_LIMIT_WARNING   100
 
#define IRQSTACK_LIMIT_CRITICAL   60
 
#define CPULOAD_LIMIT_WARNING   85
 
#define CPULOAD_LIMIT_CRITICAL   95
 
#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   2158000
 
#define PIOS_INCLUDE_INITCALL
 
#define PIOS_INCLUDE_DEBUG_CONSOLE
 
#define PIOS_NO_TELEM_ON_RF
 
#define PIOS_NO_ALARMS
 
#define NO_SENSORS
 
#define PIPXTREME
 

Functions

void PIOS_Board_Init (void)
 

Variables

uintptr_t pios_com_telem_usb_id
 
uintptr_t pios_com_telem_usb_id
 
uintptr_t pios_com_vcp_id
 
uintptr_t pios_com_radio_id
 
uintptr_t pios_com_telem_serial_id
 
uintptr_t pios_com_bridge_id
 
uintptr_t pios_com_rf_id
 
uintptr_t pios_com_telem_uart_telem_id
 
uintptr_t pios_ppm_rcvr_id
 
uintptr_t pios_com_debug_id
 
uintptr_t pios_com_frsky_sport_id
 
uintptr_t pios_com_telem_uart_bluetooth_id
 
uintptr_t pios_uavo_settings_fs_id
 

Detailed Description

Macro Definition Documentation

#define AUXUART_BAUDRATE   19200

Definition at line 76 of file pios_config.h.

#define AUXUART_ENABLED   0

Definition at line 75 of file pios_config.h.

#define BOARD_READABLE   true

Definition at line 69 of file pios_board.h.

#define BOARD_WRITABLE   true

Definition at line 70 of file pios_board.h.

#define CPULOAD_LIMIT_CRITICAL   95

Definition at line 84 of file pios_config.h.

#define CPULOAD_LIMIT_WARNING   85

Definition at line 83 of file pios_config.h.

#define DEBUG_LEVEL   0

Definition at line 173 of file pios_board.h.

#define DEBUG_PRINTF (   level,
  ... 
)    {if(level <= DEBUG_LEVEL && PIOS_COM_DEBUG > 0) { PIOS_COM_SendFormattedStringNonBlocking(PIOS_COM_DEBUG, __VA_ARGS__); }}

Definition at line 174 of file pios_board.h.

#define GPS_BAUDRATE   19200

Definition at line 73 of file pios_config.h.

#define HEAP_LIMIT_CRITICAL   40

Definition at line 80 of file pios_config.h.

#define HEAP_LIMIT_WARNING   220

Definition at line 79 of file pios_config.h.

#define IDLE_COUNTS_PER_SEC_AT_NO_LOAD   2158000

Definition at line 86 of file pios_config.h.

#define IRQSTACK_LIMIT_CRITICAL   60

Definition at line 82 of file pios_config.h.

#define IRQSTACK_LIMIT_WARNING   100

Definition at line 81 of file pios_config.h.

#define LINK_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_LINK)

Definition at line 106 of file pios_board.h.

#define LINK_LED_ON   PIOS_ANNUNC_On(PIOS_LED_LINK)

Definition at line 105 of file pios_board.h.

#define LINK_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_LINK)

Definition at line 107 of file pios_board.h.

#define LOG_FILENAME   "PIOS.LOG"

Definition at line 43 of file pios_config.h.

#define LOG_FILENAME   "PIOS.LOG"

Definition at line 69 of file pios_config.h.

#define MAX_DEL_RETRYS   3

Definition at line 71 of file pios_board.h.

#define NO_SENSORS

Definition at line 99 of file pios_config.h.

#define PIOS_ADC_MAX_OVERSAMPLING   36

Definition at line 183 of file pios_board.h.

#define PIOS_COM_BRIDGE   (pios_com_bridge_id)

Definition at line 167 of file pios_board.h.

#define PIOS_COM_DEBUG   (pios_com_debug_id)

Definition at line 170 of file pios_board.h.

#define PIOS_COM_FRSKY_SPORT   (pios_com_frsky_sport_id)

Definition at line 171 of file pios_board.h.

#define PIOS_COM_FRSKYSPORT_TX_BUF_LEN   24

Definition at line 48 of file pios_board.c.

#define PIOS_COM_RADIOBRIDGE   (pios_com_rf_id)

Definition at line 168 of file pios_board.h.

#define PIOS_COM_TELEM_RX_BUF_LEN   450

Definition at line 46 of file pios_board.c.

#define PIOS_COM_TELEM_TX_BUF_LEN   450

Definition at line 47 of file pios_board.c.

#define PIOS_COM_TELEM_USB   (pios_com_telem_usb_id)

Definition at line 165 of file pios_board.h.

#define PIOS_COM_VCP   (pios_com_vcp_id)

Definition at line 166 of file pios_board.h.

#define PIOS_FLASH_EEPROM_ADDR   (PIOS_FLASH_EEPROM_START_ADDR + PIOS_FLASH_SIZE - PIOS_FLASH_PAGE_SIZE)

Definition at line 224 of file pios_board.h.

#define PIOS_FLASH_EEPROM_LEN   PIOS_FLASH_PAGE_SIZE

Definition at line 225 of file pios_board.h.

#define PIOS_FLASH_EEPROM_START_ADDR   0x08000000

Definition at line 222 of file pios_board.h.

#define PIOS_FLASH_PAGE_SIZE   1024

Definition at line 223 of file pios_board.h.

#define PIOS_FLASH_SIZE   0x20000

Definition at line 221 of file pios_board.h.

#define PIOS_INCLUDE_ANNUNC

Definition at line 35 of file pios_config.h.

#define PIOS_INCLUDE_ANNUNC

Definition at line 35 of file pios_config.h.

#define PIOS_INCLUDE_BL_HELPER

Definition at line 32 of file pios_config.h.

#define PIOS_INCLUDE_BL_HELPER

Definition at line 59 of file pios_config.h.

#define PIOS_INCLUDE_BL_HELPER_WRITE_SUPPORT

Definition at line 33 of file pios_config.h.

#define PIOS_INCLUDE_CHIBIOS

Definition at line 55 of file pios_config.h.

#define PIOS_INCLUDE_COM

Definition at line 54 of file pios_config.h.

#define PIOS_INCLUDE_COM_MSG

Definition at line 39 of file pios_config.h.

#define PIOS_INCLUDE_DEBUG_CONSOLE

Definition at line 91 of file pios_config.h.

#define PIOS_INCLUDE_EXTI

Definition at line 56 of file pios_config.h.

#define PIOS_INCLUDE_FLASH

Definition at line 64 of file pios_config.h.

#define PIOS_INCLUDE_FLASH_INTERNAL

Definition at line 65 of file pios_config.h.

#define PIOS_INCLUDE_FRSKY_SPORT_TELEMETRY

Definition at line 62 of file pios_config.h.

#define PIOS_INCLUDE_IAP

Definition at line 36 of file pios_config.h.

#define PIOS_INCLUDE_IAP

Definition at line 40 of file pios_config.h.

#define PIOS_INCLUDE_INITCALL

Definition at line 89 of file pios_config.h.

#define PIOS_INCLUDE_LOGFS_SETTINGS

Definition at line 66 of file pios_config.h.

#define PIOS_INCLUDE_OPENLRS

Definition at line 39 of file pios_config.h.

#define PIOS_INCLUDE_OPENLRS_RCVR

Definition at line 40 of file pios_config.h.

#define PIOS_INCLUDE_PPM

Definition at line 44 of file pios_config.h.

#define PIOS_INCLUDE_RCVR

Definition at line 37 of file pios_config.h.

#define PIOS_INCLUDE_RTC

Definition at line 57 of file pios_config.h.

#define PIOS_INCLUDE_SBUS

Definition at line 45 of file pios_config.h.

#define PIOS_INCLUDE_SPI

Definition at line 48 of file pios_config.h.

#define PIOS_INCLUDE_SYS

Definition at line 36 of file pios_config.h.

#define PIOS_INCLUDE_SYS

Definition at line 49 of file pios_config.h.

#define PIOS_INCLUDE_TARANIS_SPORT

Definition at line 61 of file pios_config.h.

#define PIOS_INCLUDE_TIM

Definition at line 38 of file pios_config.h.

#define PIOS_INCLUDE_UAVTALKRCVR

Definition at line 43 of file pios_config.h.

#define PIOS_INCLUDE_USART

Definition at line 50 of file pios_config.h.

#define PIOS_INCLUDE_USB

Definition at line 37 of file pios_config.h.

#define PIOS_INCLUDE_USB

Definition at line 51 of file pios_config.h.

#define PIOS_INCLUDE_USB_CDC

Definition at line 53 of file pios_config.h.

#define PIOS_INCLUDE_USB_HID

Definition at line 38 of file pios_config.h.

#define PIOS_INCLUDE_USB_HID

Definition at line 52 of file pios_config.h.

#define PIOS_INCLUDE_WDG

Definition at line 58 of file pios_config.h.

#define PIOS_IRQ_PRIO_HIGH   5

Definition at line 147 of file pios_board.h.

#define PIOS_IRQ_PRIO_HIGHEST   4

Definition at line 148 of file pios_board.h.

#define PIOS_IRQ_PRIO_LOW   12

Definition at line 145 of file pios_board.h.

#define PIOS_IRQ_PRIO_MID   8

Definition at line 146 of file pios_board.h.

#define PIOS_LED_ALARM   PIOS_LED_TX

Definition at line 99 of file pios_board.h.

#define PIOS_LED_HEARTBEAT   PIOS_LED_USB

Definition at line 98 of file pios_board.h.

#define PIOS_LED_LINK   1

Definition at line 88 of file pios_board.h.

#define PIOS_LED_RX   2

Definition at line 89 of file pios_board.h.

#define PIOS_LED_TX   3

Definition at line 90 of file pios_board.h.

#define PIOS_LED_USB   0

Definition at line 87 of file pios_board.h.

#define PIOS_NO_ALARMS

Definition at line 94 of file pios_config.h.

#define PIOS_NO_TELEM_ON_RF

Definition at line 93 of file pios_config.h.

#define PIOS_PERIPHERAL_APB1_CLOCK   (PIOS_SYSCLK / 2)

Definition at line 139 of file pios_board.h.

#define PIOS_PERIPHERAL_APB2_CLOCK   (PIOS_SYSCLK / 1)

Definition at line 140 of file pios_board.h.

#define PIOS_PPM_NUM_INPUTS   8

Definition at line 196 of file pios_board.h.

#define PIOS_PPM_RECEIVER   (pios_ppm_rcvr_id)

Definition at line 169 of file pios_board.h.

#define PIOS_RCVR_MAX_CHANNELS   12

Definition at line 191 of file pios_board.h.

#define PIOS_SBUS_NUM_INPUTS   (16+2)

Definition at line 197 of file pios_board.h.

#define PIOS_SERVO_UPDATE_HZ   50

Definition at line 201 of file pios_board.h.

#define PIOS_SERVOS_INITIAL_POSITION   0 /* dont want to start motors, have no pulse till settings loaded */

Definition at line 202 of file pios_board.h.

#define PIOS_SYSCLK   72000000

Definition at line 138 of file pios_board.h.

#define PIOS_TIM_MAX_DEVS   3

Definition at line 207 of file pios_board.h.

#define PIOS_USB_DETECT_EXTI_LINE   EXTI_Line15

Definition at line 215 of file pios_board.h.

#define PIOS_USB_DETECT_GPIO_PIN   GPIO_Pin_15

Definition at line 214 of file pios_board.h.

#define PIOS_USB_DETECT_GPIO_PORT   GPIOC

Definition at line 213 of file pios_board.h.

#define PIOS_USB_ENABLED   1

Definition at line 212 of file pios_board.h.

#define PIOS_WATCHDOG_TIMEOUT   500

Definition at line 77 of file pios_board.h.

#define PIOS_WDG_RADIORX   0x0200

Definition at line 80 of file pios_board.h.

#define PIOS_WDG_REGISTER   BKP_DR4

Definition at line 78 of file pios_board.h.

#define PIOS_WDG_RFM22B   0x0400

Definition at line 81 of file pios_board.h.

#define PIOS_WDG_SYSTEM   0x0800

Definition at line 82 of file pios_board.h.

#define PIOS_WDG_TELEMETRY   0x0100

Definition at line 79 of file pios_board.h.

#define PIPXTREME

Definition at line 101 of file pios_config.h.

#define RFM22_DEBUG   1

Definition at line 176 of file pios_board.h.

#define RX_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_RX)

Definition at line 110 of file pios_board.h.

#define RX_LED_ON   PIOS_ANNUNC_On(PIOS_LED_RX)

Definition at line 109 of file pios_board.h.

#define RX_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_RX)

Definition at line 111 of file pios_board.h.

#define STARTUP_LOG_ENABLED   1

Definition at line 44 of file pios_config.h.

#define STARTUP_LOG_ENABLED   1

Definition at line 70 of file pios_config.h.

#define TAULINK_VERSION_MODULE   0x02

Definition at line 34 of file pios_board.h.

#define TAULINK_VERSION_STICK   0x01

Definition at line 33 of file pios_board.h.

#define TELEM_BAUDRATE   19200

Definition at line 74 of file pios_config.h.

#define TX_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_TX)

Definition at line 114 of file pios_board.h.

#define TX_LED_ON   PIOS_ANNUNC_On(PIOS_LED_TX)

Definition at line 113 of file pios_board.h.

#define TX_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_TX)

Definition at line 115 of file pios_board.h.

#define USB_LED_OFF   PIOS_ANNUNC_Off(PIOS_LED_USB)

Definition at line 102 of file pios_board.h.

#define USB_LED_ON   PIOS_ANNUNC_On(PIOS_LED_USB)

Definition at line 101 of file pios_board.h.

#define USB_LED_TOGGLE   PIOS_ANNUNC_Toggle(PIOS_LED_USB)

Definition at line 103 of file pios_board.h.

#define VREF_PLUS   3.3

Definition at line 185 of file pios_board.h.

Function Documentation

void PIOS_Board_Init ( void  )

PIOS_Board_Init() initializes all the core subsystems on this specific hardware called from System/openpilot.c

Definition at line 40 of file pios_board.c.

Variable Documentation

uintptr_t pios_com_bridge_id

Definition at line 81 of file pios_hal.c.

uintptr_t pios_com_debug_id

Definition at line 76 of file pios_board.c.

uintptr_t pios_com_frsky_sport_id
uintptr_t pios_com_radio_id
uintptr_t pios_com_rf_id
uintptr_t pios_com_telem_serial_id

Definition at line 127 of file pios_hal.c.

uintptr_t pios_com_telem_uart_bluetooth_id

Definition at line 39 of file pios_board.c.

uintptr_t pios_com_telem_uart_telem_id
uintptr_t pios_com_telem_usb_id

Definition at line 33 of file pios_board.c.

uintptr_t pios_com_telem_usb_id

Definition at line 42 of file pios_board.c.

uintptr_t pios_com_vcp_id
uintptr_t pios_ppm_rcvr_id
uintptr_t pios_uavo_settings_fs_id

Simulation of the flash filesystem

Definition at line 44 of file pios_board.c.