Esempio n. 1
0
static void _hShowModelLayout()
{
	if (ANYKEY)
	{
		if (KEY2)	// NEXT
			elementIndex = (elementIndex + 1) % 9;
		
		lcdClear();
		writeSoftkeys(NULL);
		lcdSetPos(0, 0);
		lcdWriteString_P(strOutput);
		lcdWriteChar(32);
		if (elementIndex == 0)
		{
			lcdWriteString_P(strALL);
			for (uint8_t i = 0; i < 8; i++)
				showMotor(i, 0);
		}			
		else
		{
			lcdWriteChar(elementIndex + '0');
			showMotor(elementIndex - 1, 1);
		}
	}
}
Esempio n. 2
0
int main(int argc, char** argv) {
    char value, count = '0';
    lcdInit();
    i2c_init();
    for(int i = 0; i < 16; i++)
    {
        sendByte(count++,0x30<<1);
        lcdSetPos(i,0);
        lcdWriteChar(count);
        //for(int i = 0; i<10; i++ )
        __delay_ms(10);
        value = readByte(0x30<<1);
        lcdSetPos(i,1);
        lcdWriteChar(value);
        //for(int i = 0; i<10; i++ )
        __delay_ms(10);
    }
    while(1)
    {
        

    }

    return (EXIT_SUCCESS);
}
Esempio n. 3
0
static void _hSensorCalibration()
{
	if (elementIndex == 0)
	{
		if (KEY4)
		{
			elementIndex = 1;
			lcdClear();
			lcdSetPos(3, 18);
			lcdWriteString_P(strWait);
			lcdSetPos(3, 78);
			lcdWriteString_P(strSec);
			writeSoftkeys(_skCANCEL);
			_tStart = millis();
		}			
	}
	else if (elementIndex == 1)
	{
		lcdSetPos(3, 66);
		uint8_t sec = (millis() - _tStart) / 1000;
		lcdWriteChar((5-sec) + 48);
		if (sec >= 5)
		{
			sensorsCalibrate();
			configSave();
			lcdSetPos(3, 0);
			lcdWriteString_P(strCalSucc);
			writeSoftkeys(NULL);
			elementIndex = 2;
		}
	}
	else if (KEY4)
		loadPage(PAGE_MENU);
}
Esempio n. 4
0
int main(void)
{
	lcdInit();
	spiInit();
	lcdWriteChar(spiFullDuplexRdWr('D'),LINE2);
	while(1);
	return 0;
}
Esempio n. 5
0
int main(void)
{
	int a = 23,b = 45;
	uint8_t *name = "Wassup!!!";
	lcdInit();
	lcdWriteString("Hey Ravi",LINE1);
	lcdWriteChar('A',LINE2);
	return 0;
}
Esempio n. 6
0
void lcdWrite(char* str)
{
  uint16_t index = 0;
  while(str[index]!='\0')
    {
      lcdWriteChar(str[index]);
      index++;
    }
}
Esempio n. 7
0
static void showMotor(uint8_t motor, uint8_t withDir)
{
	uint8_t x, y;
	mixer_channel_t *channel = &Config.Mixer[motor];
	
	if (channel->IsMotor)
	{
		x = CENTER_X + (channel->Aileron / 4);
		y = CENTER_Y - (channel->Elevator / 4);
	
		lcdLine(x, y, CENTER_X, CENTER_Y);
		lcdXY(CENTER_X - 2, CENTER_Y - 2);
		lcdWriteGlyph_P(&glyFC, ROP_COPY);
		lcdXY(x - 4, y - 4);
		lcdWriteGlyph_P(&glyBall, ROP_PAINT);
		lcdXY(x - 4, y - 7);
		if (channel->Rudder >= 0)
			lcdWriteGlyph_P(&glyDirCW, ROP_PAINT);
		else
			lcdWriteGlyph_P(&glyDirCCW, ROP_PAINT);
		
		lcdXY(x - 2, y - 2);
		lcdReverse(1);
		lcdSelectFont(&font4x6);
		lcdWriteChar(motor + '1');
		lcdSelectFont(NULL);
		lcdReverse(0);
		
		if (withDir)
		{
			lcdSetPos(2, 0);
			lcdWriteString_P(strDirSeen);
			lcdSetPos(5, 0);
			if (channel->Rudder >= 0)
				lcdWriteString_P(strCW);
			else
				lcdWriteString_P(strCCW);
		}
	}
	else if (withDir)
	{
		lcdSetPos(3, 64);
		if (channel->IsServo)
			lcdWriteString_P(strServo);
		else
			lcdWriteString_P(strUnused);
	}
}
Esempio n. 8
0
static void _hStart()
{
	char s[7];
	if (KEY4)	// MENU
	{
		arm(OFF);
		loadPage(PAGE_MENU);
		return;
	}
	
	if (KEYINIT || KEYREFRESH)
	{
		if (Config.ArmingMode)
			arm(ON);
		
		if (State.Armed)
		{
			lcdSetPos(3, 30);
			lcdSelectFont(&font12x16);
			lcdWriteString_P(strARMED);
			lcdSelectFont(NULL);
			return;
		}
		else
		{
			lcdSetPos(0, 5);
			lcdSelectFont(&font12x16);
			lcdWriteString_P(strHeader);
			lcdSelectFont(NULL);
			lcdSetPos(2, 0);
			lcdWriteString_P(scrStart);
		}
	}
	
	if (!State.Armed)
	{
		lcdSetPos(2, 84);
		if (State.SelfLevel)
			writePadded_P(strON, 3);
		else		
			writePadded_P(strOFF, 3);
	
		lcdSetPos(3, 0);
		if (State.Error)
		{
			lcdWriteString_P(strError);
			lcdWriteChar(32);
			if (State.Error & ERR_NOT_CALIBRATED)
				lcdWriteString_P(strSensorNotCal);
			else 
			{
				lcdWriteString_P(PSTR("no "));
				const char* s;
				if ((State.Error & ERR_NO_RX) == ERR_NO_RX)
					s = PSTR("RX");
				else if (State.Error & ERR_NO_ROLL)
					s = strRoll;
				else if (State.Error & ERR_NO_PITCH)
					s = strPitch;
				else if (State.Error & ERR_NO_YAW)
					s = strYaw;
				else 
					s = strThro;
				lcdWriteString_P(s);
				lcdWriteString_P(PSTR(" input"));
			}
		}	
		else
			lcdWriteString_P(PSTR("Ready for departure!"));
	
		// battery level
		lcdSetPos(4, 13*6);
		utoa(BATT / 10, s, 10);
		lcdWriteString(s);
		lcdWriteChar('.');
		utoa(BATT % 10, s, 10);
		writePadded(s, 3);
	
		// roll angle
		writeValue(5, 13*6, (int16_t)ANGLE[ROL], 7, -1);
	
		// pitch angle
		writeValue(6, 13*6, (int16_t)ANGLE[PIT], 7, -1);
	}	
}
Esempio n. 9
0
static void writeSpace(int8_t len)
{
	for (int8_t i = 0; i < len; i++)
		lcdWriteChar(32);
}
Esempio n. 10
0
/*
 * Write a string to the LCD
 */
void lcdWriteString(char * s) {
	while (*s) {
		lcdWriteChar(*s);
		s ++;
	}
}