Update I2C
This commit is contained in:
@@ -15,6 +15,12 @@
|
|||||||
#define SPEEDYBOI_ADDR 0x18
|
#define SPEEDYBOI_ADDR 0x18
|
||||||
#define ACCD_X_MSB 0x03
|
#define ACCD_X_MSB 0x03
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
enum {Vooruit, Achteruit} richting;
|
||||||
|
double timestamp;
|
||||||
|
int8_t g;
|
||||||
|
} pakketje;
|
||||||
|
|
||||||
void * GSensorTask(void *args) {
|
void * GSensorTask(void *args) {
|
||||||
|
|
||||||
I2C_Handle speedyBoy;
|
I2C_Handle speedyBoy;
|
||||||
@@ -25,6 +31,8 @@ void * GSensorTask(void *args) {
|
|||||||
int8_t buffer_rcv;
|
int8_t buffer_rcv;
|
||||||
uint8_t buffer_send = ACCD_X_MSB;
|
uint8_t buffer_send = ACCD_X_MSB;
|
||||||
|
|
||||||
|
double timer = 0;
|
||||||
|
|
||||||
I2C_Transaction RW_Trans;
|
I2C_Transaction RW_Trans;
|
||||||
RW_Trans.slaveAddress = SPEEDYBOI_ADDR;
|
RW_Trans.slaveAddress = SPEEDYBOI_ADDR;
|
||||||
RW_Trans.writeBuf = &buffer_send;
|
RW_Trans.writeBuf = &buffer_send;
|
||||||
@@ -35,6 +43,16 @@ void * GSensorTask(void *args) {
|
|||||||
while(1) {
|
while(1) {
|
||||||
I2C_transfer(speedyBoy, &RW_Trans);
|
I2C_transfer(speedyBoy, &RW_Trans);
|
||||||
// publish read into mailbox (defined in mqtt.c)
|
// publish read into mailbox (defined in mqtt.c)
|
||||||
|
timer++;
|
||||||
|
|
||||||
|
pakketje pakket;
|
||||||
|
pakket.richting = (buffer_rcv < 0) ? Achteruit : Vooruit;
|
||||||
|
pakket.timestmp = timer;
|
||||||
|
pakket.g = abs(buffer_rsv);
|
||||||
|
|
||||||
|
MQTTPublish(pakket);
|
||||||
|
|
||||||
|
usleep(100000U);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user