30 #ifndef STM32103CB_PIPXTREME_H_
31 #define STM32103CB_PIPXTREME_H_
33 #define TAULINK_VERSION_STICK 0x01
34 #define TAULINK_VERSION_MODULE 0x02
69 #define BOARD_READABLE true
70 #define BOARD_WRITABLE true
71 #define MAX_DEL_RETRYS 3
77 #define PIOS_WATCHDOG_TIMEOUT 500
78 #define PIOS_WDG_REGISTER BKP_DR4
79 #define PIOS_WDG_TELEMETRY 0x0100
80 #define PIOS_WDG_RADIORX 0x0200
81 #define PIOS_WDG_RFM22B 0x0400
82 #define PIOS_WDG_SYSTEM 0x0800
87 #define PIOS_LED_USB 0
88 #define PIOS_LED_LINK 1
91 #ifdef PIOS_RFM22B_DEBUG_ON_TELEM
98 #define PIOS_LED_HEARTBEAT PIOS_LED_USB
99 #define PIOS_LED_ALARM PIOS_LED_TX
101 #define USB_LED_ON PIOS_ANNUNC_On(PIOS_LED_USB)
102 #define USB_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_USB)
103 #define USB_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_USB)
105 #define LINK_LED_ON PIOS_ANNUNC_On(PIOS_LED_LINK)
106 #define LINK_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_LINK)
107 #define LINK_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_LINK)
109 #define RX_LED_ON PIOS_ANNUNC_On(PIOS_LED_RX)
110 #define RX_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_RX)
111 #define RX_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_RX)
113 #define TX_LED_ON PIOS_ANNUNC_On(PIOS_LED_TX)
114 #define TX_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_TX)
115 #define TX_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_TX)
117 #ifdef PIOS_RFM22B_DEBUG_ON_TELEM
118 #define D1_LED_ON PIOS_ANNUNC_On(PIOS_LED_D1)
119 #define D1_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_D1)
120 #define D1_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_D1)
122 #define D2_LED_ON PIOS_ANNUNC_On(PIOS_LED_D2)
123 #define D2_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_D2)
124 #define D2_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_D2)
126 #define D3_LED_ON PIOS_ANNUNC_On(PIOS_LED_D3)
127 #define D3_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_D3)
128 #define D3_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_D3)
130 #define D4_LED_ON PIOS_ANNUNC_On(PIOS_LED_D4)
131 #define D4_LED_OFF PIOS_ANNUNC_Off(PIOS_LED_D4)
132 #define D4_LED_TOGGLE PIOS_ANNUNC_Toggle(PIOS_LED_D4)
138 #define PIOS_SYSCLK 72000000
139 #define PIOS_PERIPHERAL_APB1_CLOCK (PIOS_SYSCLK / 2)
140 #define PIOS_PERIPHERAL_APB2_CLOCK (PIOS_SYSCLK / 1)
145 #define PIOS_IRQ_PRIO_LOW 12 // lower than RTOS
146 #define PIOS_IRQ_PRIO_MID 8 // higher than RTOS
147 #define PIOS_IRQ_PRIO_HIGH 5 // for SPI, ADC, I2C etc...
148 #define PIOS_IRQ_PRIO_HIGHEST 4 // for USART etc...
165 #define PIOS_COM_TELEM_USB (pios_com_telem_usb_id)
166 #define PIOS_COM_VCP (pios_com_vcp_id)
167 #define PIOS_COM_BRIDGE (pios_com_bridge_id)
168 #define PIOS_COM_RADIOBRIDGE (pios_com_rf_id)
169 #define PIOS_PPM_RECEIVER (pios_ppm_rcvr_id)
170 #define PIOS_COM_DEBUG (pios_com_debug_id)
171 #define PIOS_COM_FRSKY_SPORT (pios_com_frsky_sport_id)
173 #define DEBUG_LEVEL 0
174 #define DEBUG_PRINTF(level, ...) {if(level <= DEBUG_LEVEL && PIOS_COM_DEBUG > 0) { PIOS_COM_SendFormattedStringNonBlocking(PIOS_COM_DEBUG, __VA_ARGS__); }}
176 #define RFM22_DEBUG 1
183 #define PIOS_ADC_MAX_OVERSAMPLING 36
185 #define VREF_PLUS 3.3
191 #define PIOS_RCVR_MAX_CHANNELS 12
196 #define PIOS_PPM_NUM_INPUTS 8
197 #define PIOS_SBUS_NUM_INPUTS (16+2)
201 #define PIOS_SERVO_UPDATE_HZ 50
202 #define PIOS_SERVOS_INITIAL_POSITION 0
207 #define PIOS_TIM_MAX_DEVS 3
212 #define PIOS_USB_ENABLED 1
213 #define PIOS_USB_DETECT_GPIO_PORT GPIOC
214 #define PIOS_USB_DETECT_GPIO_PIN GPIO_Pin_15
215 #define PIOS_USB_DETECT_EXTI_LINE EXTI_Line15
221 #define PIOS_FLASH_SIZE 0x20000
222 #define PIOS_FLASH_EEPROM_START_ADDR 0x08000000
223 #define PIOS_FLASH_PAGE_SIZE 1024
224 #define PIOS_FLASH_EEPROM_ADDR (PIOS_FLASH_EEPROM_START_ADDR + PIOS_FLASH_SIZE - PIOS_FLASH_PAGE_SIZE)
225 #define PIOS_FLASH_EEPROM_LEN PIOS_FLASH_PAGE_SIZE
uintptr_t pios_com_radio_id
uintptr_t pios_com_frsky_sport_id
uintptr_t pios_com_telem_uart_telem_id
uintptr_t pios_com_telem_serial_id
uintptr_t pios_com_debug_id
uintptr_t pios_ppm_rcvr_id
uintptr_t pios_com_telem_usb_id
uintptr_t pios_com_bridge_id
uintptr_t pios_com_vcp_id