diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2011-09-04 02:14:22 +0200 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2011-09-04 02:14:22 +0200 |
commit | 5a6e0b83fbbc3d3841be3384d32c0d4d6aec070c (patch) | |
tree | 750283d1e082a7f2de3a353820e6e6c6d6892a83 | |
parent | adb9868498b93f89ae875df764d475c9f5c16049 (diff) |
Transmit gyro values over zigbee.
-rw-r--r-- | main.cpp | 21 | ||||
-rw-r--r-- | usart.h | 2 | ||||
-rw-r--r-- | xbee.h | 6 |
3 files changed, 22 insertions, 7 deletions
@@ -57,11 +57,24 @@ class PID { } }; +I2C i2c; +ITG3200 gyro(i2c); + void threadmain() { while(1) { GPIOB.ODR ^= 1 << 1; - xbee_send(3, (uint8_t*)"hei"); + uint8_t buf[] = { + gyro.x & 0xff, + gyro.x >> 8, + gyro.y & 0xff, + gyro.y >> 8, + gyro.z & 0xff, + gyro.z >> 8, + }; + + xbee_send(6, buf); + Time::sleep(100); } } @@ -84,10 +97,12 @@ int main() { GPIOB.CRH = 0x44444444; GPIOB.ODR = 1 << 1; - I2C i2c; + Time::sleep(10); + + //I2C i2c; i2c.enable(); - ITG3200 gyro(i2c); + //ITG3200 gyro(i2c); gyro.init(); PPMSum ppmsum; @@ -9,7 +9,7 @@ void interrupt<Interrupt::USART1>() { void usart_enable() { RCC.enable(RCC.USART1); - USART1.BRR = 7500; // 9600 baud + USART1.BRR = 625; // 115200 baud USART1.CR1 = 0x202c; Interrupt::enable(Interrupt::USART1); @@ -21,12 +21,12 @@ void xbee_send(int len, const uint8_t* buf) { usart_send(0x19); usart_send(0xf1); - usart_send(0x00); - usart_send(0x00); + usart_send(0xff); + usart_send(0xfe); usart_send(0x00); usart_send(0x00); - uint8_t chsum = 0x80; + uint8_t chsum = 0x83; // Payload for(int i = 0; i < len; i++) { |