1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-14 03:50:02 +03:00

PICO changes (#14105)

* PICO changes
* Spelling corrected in API v2
* Corrected as per @ledvinap - granted will be generated in future.
* As per @tstibor
* Correction and comment as per @ledvinap
This commit is contained in:
Jay Blackman 2024-12-26 14:53:27 +11:00 committed by GitHub
parent d244239f39
commit 01d862f803
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 1742 additions and 371 deletions

View file

@ -21,26 +21,46 @@
#pragma once
#if defined(RP2350)
#define _ADDRESSMAP_H
#define NVIC_PriorityGroup_2 0x500
#define SPI_IO_AF_CFG 0
#define SPI_IO_AF_SCK_CFG_HIGH 0
#define SPI_IO_AF_SCK_CFG_LOW 0
#define SPI_IO_AF_SDI_CFG 0
#define SPI_IO_CS_CFG 0
// Register address offsets for atomic RMW aliases
#define REG_ALIAS_RW_BITS (_u(0x0) << _u(12))
#define REG_ALIAS_XOR_BITS (_u(0x1) << _u(12))
#define REG_ALIAS_SET_BITS (_u(0x2) << _u(12))
#define REG_ALIAS_CLR_BITS (_u(0x3) << _u(12))
#include "RP2350.h"
#include "pico/stdlib.h"
#include "hardware/spi.h"
#if defined(RP2350A) || defined(RP2350B)
typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
#define I2C_TypeDef I2C0_Type
#define I2C_TypeDef i2c0_hw
//#define I2C_HandleTypeDef
#define GPIO_TypeDef IO_BANK0_Type
#define GPIO_TypeDef io_bank0_hw_t
//#define GPIO_InitTypeDef
#define TIM_TypeDef TIMER0_Type
#define TIM_TypeDef void*
//#define TIM_OCInitTypeDef
#define DMA_TypeDef DMA_Type
#define DMA_TypeDef void*
//#define DMA_InitTypeDef
//#define DMA_Channel_TypeDef
#define SPI_TypeDef SPI0_Type
#define ADC_TypeDef ADC_Type
#define USART_TypeDef UART0_Type
#define TIM_OCInitTypeDef TIMER0_Type
#define TIM_ICInitTypeDef TIMER0_Type
#define SPI_TypeDef spi_inst_t
#define ADC_TypeDef void*
#define USART_TypeDef uart_inst_t
#define TIM_OCInitTypeDef void*
#define TIM_ICInitTypeDef void*
//#define TIM_OCStructInit
//#define TIM_Cmd
//#define TIM_CtrlPWMOutputs
@ -49,19 +69,24 @@ typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
//#define SystemCoreClock
//#define EXTI_TypeDef
//#define EXTI_InitTypeDef
//#define IRQn_Type void*
#endif
#define DMA_DATA_ZERO_INIT
#define DMA_DATA
#define STATIC_DMA_DATA_AUTO static
#define DEFAULT_CPU_OVERCLOCK 0
#define TASK_GYROPID_DESIRED_PERIOD 125 // 125us = 8kHz
#define SCHEDULER_DELAY_LIMIT 10
#define IOCFG_OUT_PP 0
#define IOCFG_OUT_OD 0
#define IO_CONFIG(mode, speed, pupd) ((mode) | ((speed) << 2) | ((pupd) << 5))
#define IOCFG_OUT_PP IO_CONFIG(GPIO_OUT, 0, 0)
#define IOCFG_OUT_OD IO_CONFIG(GPIO_OUT, 0, 0)
#define IOCFG_AF_PP 0
#define IOCFG_AF_OD 0
#define IOCFG_IPD 0
#define IOCFG_IPU 0
#define IOCFG_IN_FLOATING 0
#define IOCFG_IPD IO_CONFIG(GPIO_IN, 0, 0)
#define IOCFG_IPU IO_CONFIG(GPIO_IN, 0, 0)
#define IOCFG_IN_FLOATING IO_CONFIG(GPIO_IN, 0, 0)