intermediate: add iic task
This commit is contained in:
parent
30facdbf4d
commit
8266fba42a
|
@ -135,20 +135,29 @@
|
||||||
|
|
||||||
//M5 Serial (Atomic RS232 Base)
|
//M5 Serial (Atomic RS232 Base)
|
||||||
#ifdef M5_SERIAL_KIT_232
|
#ifdef M5_SERIAL_KIT_232
|
||||||
|
#define _GWM5_BOARD
|
||||||
#define GWSERIAL_TX BOARD_LEFT2
|
#define GWSERIAL_TX BOARD_LEFT2
|
||||||
#define GWSERIAL_RX BOARD_LEFT1
|
#define GWSERIAL_RX BOARD_LEFT1
|
||||||
#define GWSERIAL_TYPE GWSERIAL_TYPE_BI
|
#define GWSERIAL_TYPE GWSERIAL_TYPE_BI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//M5 Serial (Atomic RS485 Base)
|
//M5 Serial (Atomic RS485 Base)
|
||||||
#ifdef M5_SERIAL_KIT_485
|
#ifdef M5_SERIAL_KIT_485
|
||||||
|
#ifdef _GWM5_BOARD
|
||||||
|
#error "can only define one M5 base"
|
||||||
|
#endif
|
||||||
|
#define _GWM5_BOARD
|
||||||
#define GWSERIAL_TX BOARD_LEFT2
|
#define GWSERIAL_TX BOARD_LEFT2
|
||||||
#define GWSERIAL_RX BOARD_LEFT1
|
#define GWSERIAL_RX BOARD_LEFT1
|
||||||
#define GWSERIAL_TYPE GWSERIAL_TYPE_UNI
|
#define GWSERIAL_TYPE GWSERIAL_TYPE_UNI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//M5 GPS (Atomic GPS Base)
|
//M5 GPS (Atomic GPS Base)
|
||||||
#ifdef M5_GPS_KIT
|
#ifdef M5_GPS_KIT
|
||||||
|
#ifdef _GWM5_BOARD
|
||||||
|
#error "can only define one M5 base"
|
||||||
|
#endif
|
||||||
|
#define _GWM5_BOARD
|
||||||
#define GWSERIAL_RX BOARD_LEFT1
|
#define GWSERIAL_RX BOARD_LEFT1
|
||||||
#define GWSERIAL_TYPE GWSERIAL_TYPE_RX
|
#define GWSERIAL_TYPE GWSERIAL_TYPE_RX
|
||||||
#define CFGDEFAULT_serialBaud "9600"
|
#define CFGDEFAULT_serialBaud "9600"
|
||||||
|
@ -162,6 +171,7 @@
|
||||||
//we use serial2 for groove serial if serial1 is already defined
|
//we use serial2 for groove serial if serial1 is already defined
|
||||||
//before (e.g. by serial kit)
|
//before (e.g. by serial kit)
|
||||||
#ifdef SERIAL_GROOVE_485
|
#ifdef SERIAL_GROOVE_485
|
||||||
|
#define _GWM5_GROOVE
|
||||||
#ifdef GWSERIAL_TYPE
|
#ifdef GWSERIAL_TYPE
|
||||||
#define GWSERIAL2_TX GROOVE_PIN_2
|
#define GWSERIAL2_TX GROOVE_PIN_2
|
||||||
#define GWSERIAL2_RX GROOVE_PIN_1
|
#define GWSERIAL2_RX GROOVE_PIN_1
|
||||||
|
@ -173,6 +183,10 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef SERIAL_GROOVE_232
|
#ifdef SERIAL_GROOVE_232
|
||||||
|
#ifdef _GWM5_GROOVE
|
||||||
|
#error "can only have one groove device"
|
||||||
|
#endif
|
||||||
|
#define _GWM5_GROOVE
|
||||||
#ifdef GWSERIAL_TYPE
|
#ifdef GWSERIAL_TYPE
|
||||||
#define GWSERIAL2_TX GROOVE_PIN_2
|
#define GWSERIAL2_TX GROOVE_PIN_2
|
||||||
#define GWSERIAL2_RX GROOVE_PIN_1
|
#define GWSERIAL2_RX GROOVE_PIN_1
|
||||||
|
@ -186,6 +200,10 @@
|
||||||
|
|
||||||
//http://docs.m5stack.com/en/unit/gps
|
//http://docs.m5stack.com/en/unit/gps
|
||||||
#ifdef M5_GPS_UNIT
|
#ifdef M5_GPS_UNIT
|
||||||
|
#ifdef _GWM5_GROOVE
|
||||||
|
#error "can only have one M5 groove"
|
||||||
|
#endif
|
||||||
|
#define _GWM5_GROOVE
|
||||||
#ifdef GWSERIAL_TYPE
|
#ifdef GWSERIAL_TYPE
|
||||||
#define GWSERIAL2_RX GROOVE_PIN_1
|
#define GWSERIAL2_RX GROOVE_PIN_1
|
||||||
#define GWSERIAL2_TYPE GWSERIAL_TYPE_RX
|
#define GWSERIAL2_TYPE GWSERIAL_TYPE_RX
|
||||||
|
@ -201,15 +219,51 @@
|
||||||
|
|
||||||
//can kit for M5 Atom
|
//can kit for M5 Atom
|
||||||
#ifdef M5_CAN_KIT
|
#ifdef M5_CAN_KIT
|
||||||
|
#ifdef _GWM5_BOARD
|
||||||
|
#error "can only define one M5 base"
|
||||||
|
#endif
|
||||||
|
#define _GWM5_BOARD
|
||||||
#define ESP32_CAN_TX_PIN BOARD_LEFT1
|
#define ESP32_CAN_TX_PIN BOARD_LEFT1
|
||||||
#define ESP32_CAN_RX_PIN BOARD_LEFT2
|
#define ESP32_CAN_RX_PIN BOARD_LEFT2
|
||||||
#endif
|
#endif
|
||||||
//CAN via groove
|
//CAN via groove
|
||||||
#ifdef M5_CANUNIT
|
#ifdef M5_CANUNIT
|
||||||
|
#ifdef _GWM5_GROOVE
|
||||||
|
#error "can only have one M5 groove"
|
||||||
|
#endif
|
||||||
|
#define _GWM5_GROOVE
|
||||||
#define ESP32_CAN_TX_PIN GROOVE_PIN_2
|
#define ESP32_CAN_TX_PIN GROOVE_PIN_2
|
||||||
#define ESP32_CAN_RX_PIN GROOVE_PIN_1
|
#define ESP32_CAN_RX_PIN GROOVE_PIN_1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef M5_GROOVEIIC
|
||||||
|
#ifdef _GWM5_GROOVE
|
||||||
|
#error "can only have one M5 groove"
|
||||||
|
#endif
|
||||||
|
#define _GWM5_GROOVE
|
||||||
|
#ifdef GWIIC_SCL
|
||||||
|
#error "you cannot define both GWIIC_SCL and M5_GROOVEIIC"
|
||||||
|
#endif
|
||||||
|
#define GWIIC_SCL GROOVE_PIN_1
|
||||||
|
#ifdef GWIIC_SDA
|
||||||
|
#error "you cannot define both GWIIC_SDA and M5_GROOVEIIC"
|
||||||
|
#endif
|
||||||
|
#define GWIIC_SDA GROOVE_PIN_2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GWIIC_SDA
|
||||||
|
#ifndef GWIIC_SCL
|
||||||
|
#error "you must both define GWIIC_SDA and GWIIC_SCL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifdef GWIIC_SCL
|
||||||
|
#ifndef GWIIC_SDA
|
||||||
|
#error "you must both define GWIIC_SDA and GWIIC_SCL
|
||||||
|
#endif
|
||||||
|
#define _GWIIC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef GWLED_TYPE
|
#ifndef GWLED_TYPE
|
||||||
#ifdef GWLED_CODE
|
#ifdef GWLED_CODE
|
||||||
#if GWLED_CODE == 0
|
#if GWLED_CODE == 0
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
//#ifdef _GWIIC
|
||||||
|
#include "GwIicTask.h"
|
||||||
|
#include "GwHardware.h"
|
||||||
|
#include <Wire.h>
|
||||||
|
void runIicTask(GwApi *api){
|
||||||
|
GwLog *logger=api->getLogger();
|
||||||
|
#ifndef _GWIIC
|
||||||
|
LOG_DEBUG(GwLog::LOG,"no iic defined, iic task stopped");
|
||||||
|
vTaskDelete(NULL);
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
#ifndef GWIIC_SDA
|
||||||
|
#define GWIIC_SDA -1
|
||||||
|
#endif
|
||||||
|
#ifndef GWIIC_SCL
|
||||||
|
#define GWIIC_SCL -1
|
||||||
|
#endif
|
||||||
|
LOG_DEBUG(GwLog::LOG,"iic task started");
|
||||||
|
bool rt=Wire.begin(GWIIC_SDA,GWIIC_SCL);
|
||||||
|
if (! rt){
|
||||||
|
LOG_DEBUG(GwLog::ERROR,"unable to initialize IIC");
|
||||||
|
vTaskDelete(NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
vTaskDelete(NULL);
|
||||||
|
}
|
||||||
|
//#endif
|
|
@ -0,0 +1,5 @@
|
||||||
|
#ifndef _GWIICTASK
|
||||||
|
#define _GWIICTASK
|
||||||
|
#include "GwApi.h"
|
||||||
|
DECLARE_USERTASK(runIicTask)
|
||||||
|
#endif
|
Loading…
Reference in New Issue