Subversion Repositories MK3Mag

Compare Revisions

Ignore whitespace Rev 66 → Rev 67

/trunk/makefile
6,10 → 6,10
#BOARD = 10
BOARD = 11
VERSION_MAJOR = 0
VERSION_MINOR = 22
VERSION_PATCH = 2
VERSION_MINOR = 23
VERSION_PATCH = 0
 
VERSION_SERIAL_MAJOR = 10 # Serial Protocol Major Version
VERSION_SERIAL_MAJOR = 11 # Serial Protocol Major Version
VERSION_SERIAL_MINOR = 0 # Serial Protocol Minor Version
NC_I2C_COMPATIBLE = 3 # I2C Protocol Version
#-------------------------------------------------------------------
/trunk/menu.c
18,10 → 18,10
uint8_t MenuItem = 0;
uint8_t RemoteKeys = 0;
 
#define KEY1 0x01
#define KEY2 0x02
#define KEY3 0x04
#define KEY4 0x08
#define KEY1 0x01 // left
#define KEY2 0x02 // right
#define KEY3 0x04 // down
#define KEY4 0x08 // up
#define KEY5 0x10
 
 
57,6 → 57,7
}
if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuItem = 0;
 
 
LCD_Clear();
 
if(MenuItem > MaxMenuItem) MenuItem = MaxMenuItem;
69,7 → 70,6
{
LCD_printfxy(16,0,"[%i]",MenuItem);
}
 
switch(MenuItem)
{
case 0:// Version Info Menu Item
/trunk/uart.c
27,7 → 27,7
// + Benutzung auf eigene Gefahr
// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Portierung oder Nutzung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur
// + Die Portierung oder Nutzung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur
// + mit unserer Zustimmung zulässig
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen
68,6 → 68,7
#include "uart.h"
#include "timer0.h"
#include "twislave.h"
#include "printf_P.h"
 
// slave addresses
#define FC_ADDRESS 1
78,7 → 79,7
#define TRUE 1
 
// keep buffers as small as possible
#define TXD_BUFFER_LEN 100
#define TXD_BUFFER_LEN 120
#define RXD_BUFFER_LEN 30
 
volatile uint8_t txd_buffer[TXD_BUFFER_LEN];
115,6 → 116,8
 
uint16_t DebugData_Timer;
uint16_t DebugData_Interval = 500;
uint16_t Display_Timer;
uint16_t Display_Interval = 0;
 
const prog_uint8_t ANALOG_LABEL[32][16] =
{
153,7 → 156,6
"I2C Okay "
};
 
 
/****************************************************************/
/* Initialization of the USART0 */
/****************************************************************/
561,8 → 563,17
break;
 
case 'h': // request display data
RemoteKeys |= pRxData[0];
if(RemoteKeys) DisplayLine = 0;
if((pRxData[0] & 0x80) == 0x00) // old format
{
DisplayLine = 2;
Display_Interval = 0;
}
else
{
RemoteKeys |= ~pRxData[0];
Display_Interval = (uint16_t) pRxData[1] * 10;
DisplayLine = 4;
}
RequestFlags |= RQST_DISPLAY_DATA;
PC_Connected = 2000;
break;
619,19 → 630,29
DebugData_Timer = SetDelay(DebugData_Interval);
RequestFlags &= ~RQST_DEBUG_DATA;
}
else if((RequestFlags & RQST_DISPLAY_DATA) && txd_complete)
else if(( ((Display_Interval > 0) && CheckDelay(Display_Timer)) || (RequestFlags & RQST_DISPLAY_DATA)) && txd_complete)
{
LCD_PrintMenu();
SendOutData('H', FC_ADDRESS, 2, &DisplayLine, sizeof(DisplayLine), &DisplayBuff[DisplayLine * 20], 20);
DisplayLine++;
if(DisplayLine >= 4) DisplayLine = 0;
if(DisplayLine > 3)// new format
{
LCD_PrintMenu();
SendOutData('H', MK3MAG_ADDRESS, 1, (uint8_t *)DisplayBuff, 80);
}
else // old format
{
LCD_printfxy(0,0,"!!! INCOMPATIBLE !!!");
SendOutData('H', MK3MAG_ADDRESS, 2, &DisplayLine, sizeof(DisplayLine), (uint8_t *)DisplayBuff, 20);
if(DisplayLine++ > 3) DisplayLine = 0;
}
Display_Timer = SetDelay(Display_Interval);
RequestFlags &= ~RQST_DISPLAY_DATA;
}
 
else if((RequestFlags & RQST_EXTERN_CTRL) && txd_complete)
{
SendOutData('G', MK3MAG_ADDRESS, 1, (uint8_t *) &ExternControl,sizeof(ExternControl));
RequestFlags &= ~RQST_EXTERN_CTRL;
}
 
else if((RequestFlags & RQST_COMPASS_HEADING) && txd_complete)
{
SendOutData('K', FC_ADDRESS, 1, (uint8_t *) &Heading, sizeof(Heading)); // send compass heading to FC