1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-20 14:55:21 +03:00

started adding ledring stuff (yawn). found out i2c was broken, stopped.

default rc input is now pwm (non-nerds won)
added deadband to config


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@110 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
This commit is contained in:
timecop 2012-03-13 10:49:23 +00:00
parent fa29022f21
commit 6e88b8ae30
8 changed files with 109 additions and 23 deletions

53
src/drv_ledring.c Normal file
View file

@ -0,0 +1,53 @@
#include "board.h"
#include "mw.h"
// Driver for DFRobot I2C Led Ring
#define LED_RING_ADDRESS 0x6D
bool ledringDetect(void)
{
bool ack = false;
uint8_t sig = 'e';
ack = 0; // i2cWrite(LED_RING_ADDRESS, 0xFF, 1, &sig);
if (!ack)
return false;
return true;
}
void ledringState(void)
{
uint8_t b[10];
static uint8_t state;
if (state == 0) {
b[0] = 'z';
b[1] = (180 - heading) / 2; // 1 unit = 2 degrees;
// i2cWrite(LED_RING_ADDRESS, 0xFF, 2, b);
state = 1;
} else if (state == 1) {
b[0] = 'y';
b[1] = constrain(angle[ROLL] / 10 + 90, 0, 180);
b[2] = constrain(angle[PITCH] / 10 + 90, 0, 180);
// i2cWrite(LED_RING_ADDRESS, 0xFF, 3, b);
state = 2;
} else if (state == 2) {
b[0] = 'd'; // all unicolor GREEN
b[1] = 1;
if (armed)
b[2] = 1;
else
b[2] = 0;
// i2cWrite(LED_RING_ADDRESS, 0xFF, 3, b);
state = 0;
}
}
void ledringBlink(void)
{
uint8_t b[3];
b[0] = 'k';
b[1] = 10;
b[2] = 10;
// i2cWrite(LED_RING_ADDRESS, 0xFF, 3, b);
}