mirror of https://github.com/ArduPilot/ardupilot
AP_HAL_ESP32: add board esp32nick
This commit is contained in:
parent
2df27560c0
commit
761184d645
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* This file is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define HAL_ESP32_BOARD_NAME "esp32-nick"
|
||||
// CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_ESP32_NICK
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
// make sensor selection clearer
|
||||
#define PROBE_IMU_I2C(driver, bus, addr, args ...) ADD_BACKEND(AP_InertialSensor_ ## driver::probe(*this,GET_I2C_DEVICE(bus, addr),##args))
|
||||
#define PROBE_IMU_SPI(driver, devname, args ...) ADD_BACKEND(AP_InertialSensor_ ## driver::probe(*this,hal.spi->get_device(devname),##args))
|
||||
#define PROBE_IMU_SPI2(driver, devname1, devname2, args ...) ADD_BACKEND(AP_InertialSensor_ ## driver::probe(*this,hal.spi->get_device(devname1),hal.spi->get_device(devname2),##args))
|
||||
|
||||
#define PROBE_BARO_I2C(driver, bus, addr, args ...) ADD_BACKEND(AP_Baro_ ## driver::probe(*this,std::move(GET_I2C_DEVICE(bus, addr)),##args))
|
||||
#define PROBE_BARO_SPI(driver, devname, args ...) ADD_BACKEND(AP_Baro_ ## driver::probe(*this,std::move(hal.spi->get_device(devname)),##args))
|
||||
|
||||
#define PROBE_MAG_I2C(driver, bus, addr, args ...) ADD_BACKEND(DRIVER_ ##driver, AP_Compass_ ## driver::probe(GET_I2C_DEVICE(bus, addr),##args))
|
||||
#define PROBE_MAG_SPI(driver, devname, args ...) ADD_BACKEND(DRIVER_ ##driver, AP_Compass_ ## driver::probe(hal.spi->get_device(devname),##args))
|
||||
#define PROBE_MAG_IMU(driver, imudev, imu_instance, args ...) ADD_BACKEND(DRIVER_ ##driver, AP_Compass_ ## driver::probe_ ## imudev(imu_instance,##args))
|
||||
#define PROBE_MAG_IMU_I2C(driver, imudev, bus, addr, args ...) ADD_BACKEND(DRIVER_ ##driver, AP_Compass_ ## driver::probe_ ## imudev(GET_I2C_DEVICE(bus,addr),##args))
|
||||
//------------------------------------
|
||||
|
||||
#define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_ESP32_NICK
|
||||
|
||||
//-----INS/IMU-----
|
||||
#define HAL_INS_DEFAULT HAL_INS_MPU9250_SPI
|
||||
#define HAL_INS_MPU9250_NAME "mpu9250"
|
||||
#define HAL_INS_PROBE_LIST PROBE_IMU_SPI( Invensense, HAL_INS_MPU9250_NAME, ROTATION_NONE)
|
||||
|
||||
// -----BARO-----
|
||||
#define HAL_BARO_DEFAULT HAL_BARO_BMP280_SPI
|
||||
#define HAL_BARO_BMP280_NAME "BMP280"
|
||||
#define HAL_BARO_PROBE_LIST PROBE_BARO_SPI(BMP280, "bmp280")
|
||||
// allow boot without a baro
|
||||
#define HAL_BARO_ALLOW_INIT_NO_BARO 1
|
||||
|
||||
//-----ADC-----
|
||||
#define HAL_USE_ADC TRUE
|
||||
|
||||
// pin number,
|
||||
// gain/multiplier,
|
||||
// the ardupilot name for the pin in parameter/s.
|
||||
#define HAL_ESP32_ADC_PINS {\
|
||||
{ADC1_GPIO35_CHANNEL, 11, 34},\
|
||||
{ADC1_GPIO34_CHANNEL, 11, 35},\
|
||||
{ADC1_GPIO39_CHANNEL, 11, 39},\
|
||||
{ADC1_GPIO36_CHANNEL, 11, 36}\
|
||||
}
|
||||
|
||||
//-----COMPASS-----
|
||||
#define HAL_MAG_PROBE_LIST PROBE_MAG_IMU(AK8963, mpu9250, 0, ROTATION_NONE)
|
||||
#define HAL_PROBE_EXTERNAL_I2C_COMPASSES 1
|
||||
#define ALLOW_ARM_NO_COMPASS 1
|
||||
#define AP_COMPASS_AK8963_ENABLED TRUE
|
||||
//-----WIFI-----
|
||||
|
||||
#define HAL_ESP32_WIFI 1 // 2 use udp, 1 use tcp
|
||||
#define WIFI_SSID "ardupilot123"
|
||||
#define WIFI_PWD "ardupilot123"
|
||||
|
||||
//-----RCOUT-----
|
||||
#define HAL_ESP32_RCOUT { \
|
||||
GPIO_NUM_21, \
|
||||
GPIO_NUM_22, \
|
||||
GPIO_NUM_27, \
|
||||
GPIO_NUM_25, \
|
||||
GPIO_NUM_32, \
|
||||
GPIO_NUM_33 }
|
||||
|
||||
//-----SPIBUS-----
|
||||
#define HAL_ESP32_SPI_BUSES \
|
||||
{.host=VSPI_HOST, .dma_ch=1, .mosi=GPIO_NUM_23, .miso=GPIO_NUM_19, .sclk=GPIO_NUM_18}
|
||||
|
||||
//-----SPIDEVICES-----
|
||||
#define HAL_ESP32_SPI_DEVICES \
|
||||
{.name="mpu9250", .bus=0, .device=1, .cs=GPIO_NUM_5, .mode = 0, .lspeed=2*MHZ, .hspeed=8*MHZ}
|
||||
|
||||
//-----I2CBUS-----
|
||||
#define HAL_ESP32_I2C_BUSES \
|
||||
{.port=I2C_NUM_0, .sda=GPIO_NUM_13, .scl=GPIO_NUM_12, .speed=400*KHZ, .internal=true}
|
||||
|
||||
//-----RCIN-----
|
||||
#define HAL_ESP32_RCIN GPIO_NUM_4
|
||||
//RMT pin number
|
||||
#define HAL_ESP32_RMT_RX_PIN_NUMBER 4
|
||||
//-----UARTS-----
|
||||
#define HAL_ESP32_UART_DEVICES \
|
||||
{.port=UART_NUM_0, .rx=GPIO_NUM_3, .tx=GPIO_NUM_1 } \
|
||||
,{.port=UART_NUM_1, .rx=GPIO_NUM_16, .tx=GPIO_NUM_17 }
|
||||
|
||||
//FILESYSTEM SUPPORT
|
||||
#define HAVE_FILESYSTEM_SUPPORT 1
|
||||
#define HAL_OS_POSIX_IO 1
|
||||
#define HAL_BOARD_STORAGE_DIRECTORY "/SDCARD/APM/STORAGE"
|
||||
#define HAL_ESP32_SDMMC 1
|
||||
#define HAL_ESP32_SDCARD 1
|
||||
|
||||
//LOGGING
|
||||
#define HAL_BOARD_LOG_DIRECTORY "/SDCARD/APM/LOGS"
|
||||
#define LOGGER_MAVLINK_SUPPORT 1
|
||||
#define HAL_LOGGING_BACKENDS_DEFAULT 1
|
||||
#define HAL_LOGGING_DATAFLASH_ENABLED 0
|
||||
#define HAL_LOGGING_MAVLINK_ENABLED 0
|
||||
//TERRAIN
|
||||
#define HAL_BOARD_TERRAIN_DIRECTORY "/SDCARD/APM/TERRAIN"
|
||||
|
||||
// see boards.py
|
||||
#ifndef ENABLE_HEAP
|
||||
#define ENABLE_HEAP 1
|
||||
#endif
|
|
@ -0,0 +1,44 @@
|
|||
IMU MPU9250
|
||||
NCS IO5
|
||||
SDA IO23
|
||||
ADO IO19
|
||||
SCL IO18
|
||||
|
||||
GPS W/COMPASS
|
||||
TX IO17
|
||||
RX IO16
|
||||
SDA IO13
|
||||
SCL IO12
|
||||
|
||||
BARO BMP280
|
||||
SDA IO13
|
||||
SCL IO12
|
||||
|
||||
TELEM (UART0)
|
||||
TX IO1
|
||||
RX IO3
|
||||
|
||||
TELEM (UART1)
|
||||
WIFI TCP
|
||||
|
||||
RCIN (PPM)
|
||||
PPM IO4
|
||||
|
||||
SDMMC
|
||||
CMD IO15
|
||||
CLK IO14
|
||||
D0 IO2
|
||||
|
||||
ANALOG IN
|
||||
IO34
|
||||
IO35
|
||||
IO36
|
||||
IO39
|
||||
|
||||
PWMOUT
|
||||
IO21
|
||||
IO22
|
||||
IO25
|
||||
IO27
|
||||
IO32
|
||||
IO33
|
Loading…
Reference in New Issue