Merge remote-tracking branch 'refs/remotes/origin/master' into Compass
This commit is contained in:
commit
e559cbc9fb
@ -37,12 +37,24 @@ typedef struct gps_data_t {
|
|||||||
uint8_t crc __attribute__((packed));
|
uint8_t crc __attribute__((packed));
|
||||||
} gps_data_t;
|
} gps_data_t;
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* BRIEF: RX packet structure from arduino com *
|
||||||
|
* INFORMATION: Contains the whole ping sensor data message *
|
||||||
|
***********************************************************************/
|
||||||
|
typedef struct ping_data_t {
|
||||||
|
uint8_t header;
|
||||||
|
uint16_t distance_mm;
|
||||||
|
uint8_t crc;
|
||||||
|
}ping_data_t;
|
||||||
|
|
||||||
/* An instance of the GPS data read from Arduino Com */
|
/* An instance of the GPS data read from Arduino Com */
|
||||||
gps_data_t gps_data;
|
gps_data_t gps_data;
|
||||||
|
|
||||||
/* An instance of the compass data read from Arduino Com */
|
/* An instance of the compass data read from Arduino Com */
|
||||||
compass_data_t compass_data;
|
compass_data_t compass_data;
|
||||||
|
|
||||||
|
/* An instance of the ping data read from Arduino Com */
|
||||||
|
ping_data_t ping_data;
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* BRIEF: Initializes the UART for Arduino com *
|
* BRIEF: Initializes the UART for Arduino com *
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
#define COMPASS_PACKET_SIZE 8
|
#define COMPASS_PACKET_SIZE 8
|
||||||
#define GPS_PACKET_SIZE 10
|
#define GPS_PACKET_SIZE 10
|
||||||
|
#define PING_PACKET_SIZE 4
|
||||||
#define ARDUINO_SENSOR_SIZE 6
|
#define ARDUINO_SENSOR_SIZE 6
|
||||||
|
|
||||||
typedef struct arduino_sensor_t {
|
typedef struct arduino_sensor_t {
|
||||||
@ -57,6 +58,7 @@ dma_usart_return raw_dma_data_t;
|
|||||||
enum packet_ids {
|
enum packet_ids {
|
||||||
COMPASS_PACKET_ID = 0xA1,
|
COMPASS_PACKET_ID = 0xA1,
|
||||||
GPS_PACKET_ID = 0xB1,
|
GPS_PACKET_ID = 0xB1,
|
||||||
|
PING_PACKET_ID = 0xC1,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Structure used to hold the data for "data_arr"
|
// Structure used to hold the data for "data_arr"
|
||||||
@ -69,6 +71,7 @@ typedef struct arduino_data_t {
|
|||||||
enum arduino_data_e {
|
enum arduino_data_e {
|
||||||
COMPASS_DATA_ID,
|
COMPASS_DATA_ID,
|
||||||
GPS_DATA_ID,
|
GPS_DATA_ID,
|
||||||
|
PING_DATA_ID,
|
||||||
ARDUINO_DATA_COUNT,
|
ARDUINO_DATA_COUNT,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -82,6 +85,10 @@ arduino_data_t data_arr[ARDUINO_DATA_COUNT] = {
|
|||||||
.size = GPS_PACKET_SIZE,
|
.size = GPS_PACKET_SIZE,
|
||||||
.dataPtr = &gps_data,
|
.dataPtr = &gps_data,
|
||||||
},
|
},
|
||||||
|
[PING_DATA_ID] = {
|
||||||
|
.size = PING_PACKET_SIZE,
|
||||||
|
.dataPtr = &ping_data,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -144,6 +151,9 @@ arduino_data_t find_packet_from_header(uint8_t header)
|
|||||||
case GPS_PACKET_ID:
|
case GPS_PACKET_ID:
|
||||||
arduino_data = data_arr[GPS_DATA_ID];
|
arduino_data = data_arr[GPS_DATA_ID];
|
||||||
break;
|
break;
|
||||||
|
case PING_PACKET_ID:
|
||||||
|
arduino_data = data_arr[PING_DATA_ID];
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user