|
dRonin
adbada4
dRonin firmware
|
Go to the source code of this file.
Data Structures | |
| union | dma_buffer |
| struct | servo_timer |
Macros | |
| #define | MAX_TIMERS 8 |
| #define | DMASHOT_MESSAGE_WIDTH 16 |
| #define | DMASHOT_MESSAGE_PAUSE 1 |
| #define | DMASHOT_STM32_BUFFER (DMASHOT_MESSAGE_PAUSE + DMASHOT_MESSAGE_WIDTH + DMASHOT_MESSAGE_PAUSE) |
| #define | DSHOT_DUTY_CYCLE_0 36 |
| #define | DSHOT_DUTY_CYCLE_1 74 |
| #define | TIMC_TO_INDEX(c) ((c)>>2) |
Functions | |
| static bool | PIOS_DMAShot_HalfWord (struct servo_timer *s_timer) |
| static int | PIOS_DMAShot_GetNumChannels (struct servo_timer *timer) |
| void | PIOS_DMAShot_Init (const struct pios_dmashot_cfg *config) |
| Initializes the DMAShot driver by loading the configuration. More... | |
| void | PIOS_DMAShot_Prepare () |
| Makes sure the DMAShot driver has allocated all internal structs. More... | |
| static struct servo_timer * | PIOS_DMAShot_GetServoTimer (const struct pios_tim_channel *servo_channel) |
| void | PIOS_DMAShot_WriteValue (const struct pios_tim_channel *servo_channel, uint16_t throttle) |
| Sets the throttle value of a specific servo. More... | |
| bool | PIOS_DMAShot_RegisterTimer (TIM_TypeDef *timer, uint32_t clockrate, uint32_t dshot_freq) |
| Tells the DMAShot driver about a timer that needs to be set up. More... | |
| bool | PIOS_DMAShot_RegisterServo (const struct pios_tim_channel *servo_channel) |
| Tells the DMAShot driver about a servo that needs to be set up. More... | |
| void | PIOS_DMAShot_Validate () |
| Validates any timer and servo registrations. More... | |
| void | PIOS_DMAShot_InitializeGPIOs () |
| Initializes the GPIO on the registered servos for DMAShot operation. More... | |
| static void | PIOS_DMAShot_TimerSetup (struct servo_timer *s_timer, uint32_t sysclock, uint32_t dshot_freq, TIM_OCInitTypeDef *ocinit, bool master) |
| void | PIOS_DMAShot_InitializeTimers (TIM_OCInitTypeDef *ocinit) |
| Initializes and configures the registered timers for DMAShot operation. More... | |
| static void | PIOS_DMAShot_DMASetup (struct servo_timer *s_timer) |
| static uint32_t | PIOS_DMAShot_AllocateBuffer (uint16_t size) |
| void | PIOS_DMAShot_InitializeDMAs () |
| Initializes and configures the known DMA channels for DMAShot operation. More... | |
| void | PIOS_DMAShot_TriggerUpdate () |
| Triggers the configured DMA channels to fire and send throttle values to the timer DMAR and optional CCRx registers. More... | |
| bool | PIOS_DMAShot_IsReady () |
| Checks whether DMAShot is ready for use (i.e. at least one DMA configured timer). More... | |
| bool | PIOS_DMAShot_IsConfigured () |
| Checks whether DMAShot has been configured. More... | |
Variables | |
| const struct pios_dmashot_cfg * | dmashot_cfg |
| struct servo_timer ** | servo_timers |
Definition in file pios_dmashot.c.