/trunk/eeprom.h |
---|
56,10 → 56,10 |
#define CFG_LOOP_UNTEN 0x02 |
#define CFG_LOOP_LINKS 0x04 |
#define CFG_LOOP_RECHTS 0x08 |
#define CFG_MOTOR_BLINK 0x10 |
#define CFG_MOTOR_BLINK1 0x10 |
#define CFG_MOTOR_OFF_LED1 0x20 |
#define CFG_MOTOR_OFF_LED2 0x40 |
//#define CFG_RES4 0x80 |
#define CFG_MOTOR_BLINK2 0x80 |
// ExtraConfig |
#define CFG2_HEIGHT_LIMIT 0x01 |
/trunk/hottmenu.c |
---|
63,6 → 63,37 |
} |
//--------------------------------------------------------------- |
unsigned char NC_Fills_HoTT_Telemety() |
{ |
unsigned char *ptr; |
unsigned char max = 0,i,z; |
switch(FromNaviCtrl.Param.Byte[11]) |
{ |
case HOTT_VARIO_PACKET_ID: |
ptr = (unsigned char *) &VarioPacket; |
max = sizeof(VarioPacket); |
break; |
case HOTT_GPS_PACKET_ID: |
ptr = (unsigned char *) &GPSPacket; |
max = sizeof(GPSPacket); |
break; |
case HOTT_ELECTRIC_AIR_PACKET_ID: |
ptr = (unsigned char *) &ElectricAirPacket; |
max = sizeof(ElectricAirPacket); |
break; |
} |
z = FromNaviCtrl.Param.Byte[0]; // Data allocation |
for(i=0; i < FromNaviCtrl.Param.Byte[1]; i++) |
{ |
if(z >= max) break; |
ptr[z] = FromNaviCtrl.Param.Byte[2+i]; |
z++; |
} |
} |
//--------------------------------------------------------------- |
unsigned char HoTT_Telemety(unsigned char packet_request) |
{ |
switch(packet_request) |
69,6 → 100,9 |
{ |
case HOTT_VARIO_PACKET_ID: |
VarioPacket.Altitude = HoehenWert/100 + 500; |
VarioPacket.m_sec = GPSInfo.Speed+120; |
GPSPacket.m_3sec = 120; |
GPSPacket.m_10sec = 120; |
if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude; |
if (VarioPacket.Altitude > VarioPacket.MaxAltitude) VarioPacket.MaxAltitude = VarioPacket.Altitude; |
VarioPacket.WarnBeep = HoTT_Waring(); |
78,9 → 112,9 |
case HOTT_GPS_PACKET_ID: |
GPSPacket.Altitude = HoehenWert/100 + 500; |
GPSPacket.Distance = GPSInfo.HomeDistance/10; |
GPSPacket.Heading = KompassValue/2; |
GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; |
// GPSPacket.Distance = GPSInfo.HomeDistance/10; |
// GPSPacket.Heading = GPSInfo.HomeBearing/2;//KompassValue/2; |
// GPSPacket.Speed = (GPSInfo.Speed * 36) / 10; |
GPSPacket.m_sec = GPSInfo.Speed+120; |
GPSPacket.m_3sec = 120; |
GPSPacket.m_10sec = 0; |
89,10 → 123,17 |
return(sizeof(GPSPacket)); |
break; |
case HOTT_ELECTRIC_AIR_PACKET_ID: |
ElectricAirPacket.Altitude = HoehenWert/1000 + 500; ; |
ElectricAirPacket.Altitude = HoehenWert/100 + 500; |
ElectricAirPacket.Battery1 = UBat; |
ElectricAirPacket.Capacity = Capacity.UsedCapacity; |
ElectricAirPacket.Battery2 = UBat; |
ElectricAirPacket.m_sec = GPSInfo.Speed+120; |
ElectricAirPacket.m_3sec = 120; |
ElectricAirPacket.InputVoltage = UBat; |
ElectricAirPacket.Temperature1 = Motor[0].Temperature + 20; |
ElectricAirPacket.Temperature2 = Motor[1].Temperature + 20; |
ElectricAirPacket.Capacity = Capacity.UsedCapacity/10; |
ElectricAirPacket.WarnBeep = HoTT_Waring(); |
ElectricAirPacket.Current = Capacity.ActualCurrent; |
HoTT_DataPointer = (unsigned char *) &ElectricAirPacket; |
return(sizeof(ElectricAirPacket)); |
break; |
132,7 → 173,7 |
if(FC_StatusFlags & FC_STATUS_LOWBAT) |
HoTT_printfxy_BLINK(0,2," %5i ",Capacity.UsedCapacity) |
else HoTT_printfxy(0,2," %5i ",Capacity.UsedCapacity); |
HoTT_printfxy(12,2,"I:%2i.%1iA",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10); |
HoTT_printfxy(12,2,"I:%2i.%1iA ",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10); |
break; |
case 3: |
HoTT_printfxy(9,0,"I"); |
139,13 → 180,12 |
HoTT_printfxy(9,1,"I"); |
HoTT_printfxy(9,2,"I"); |
HoTT_printfxy(0,3,"---------+-----------"); |
HoTT_printfxy(9,4,"I"); |
HoTT_printfxy(9,5,"I"); |
HoTT_printfxy(0,6,"---------------------"); |
break; |
case 4: |
if(NaviDataOkay) |
{ |
HoTT_printfxy(9,4,"I"); |
HoTT_printfxy(0,4,"SAT:%2d ",GPSInfo.NumOfSats); |
HoTT_printfxy(10,4,"DIST:%3dm",GPSInfo.HomeDistance/10); |
switch (GPSInfo.SatFix) |
161,16 → 201,17 |
} |
else |
{ //012345678901234567890 |
HoTT_printfxy(0,4,"No Navi "); |
Hott_ClearLine(4); |
} |
break; |
case 5: |
if(NaviDataOkay) |
{ |
HoTT_printfxy(9,5,"I"); |
HoTT_printfxy(4,5,"%2um/s",GPSInfo.Speed,GPSInfo.NumOfSats); |
HoTT_printfxy(12,5,"HM:%3d%c %c", GPSInfo.HomeBearing, HoTT_GRAD, NC_GPS_ModeCharacter); |
} |
else HoTT_printfxy(0,5," | "); |
else Hott_ClearLine(5); |
break; |
case 6: |
/* |
/trunk/hottmenu.h |
---|
73,26 → 73,26 |
typedef struct |
{ |
unsigned char StartByte; // 0x7C |
unsigned char Packet_ID; // 0x89 - Vario ID |
unsigned char WarnBeep; // Anzahl der Töne 0..36 |
unsigned char Heading; // 1 = 2° |
unsigned int Speed; // in km/h |
unsigned char Lat_North; |
unsigned char Lat_G; |
unsigned char Lat_M; |
unsigned char Lat_Sek1; |
unsigned char Lat_Sek2; |
unsigned char Lon_East; |
unsigned char Lon_G; |
unsigned char Lon_M; |
unsigned char Lon_Sek1; |
unsigned char Lon_Sek2; |
unsigned int Distance; // 9000 = 0m |
unsigned int Altitude; // 500 = 0m |
unsigned int m_sec; // 3000 = 0 |
unsigned int m_3sec; // 3000 = 0 |
unsigned int m_10sec; // 3000 = 0 |
unsigned char StartByte; //0 // 0x7C |
unsigned char Packet_ID; //1 // 0x89 - Vario ID |
unsigned char WarnBeep; //2 // Anzahl der Töne 0..36 |
unsigned char Heading; //3 // 1 = 2° |
unsigned int Speed; //4+5 // in km/h |
unsigned char Lat_North; //6 |
unsigned char Lat_G; //7 |
unsigned char Lat_M; //8 |
unsigned char Lat_Sek1; //9 |
unsigned char Lat_Sek2; //10 |
unsigned char Lon_East; //11 |
unsigned char Lon_G; //12 |
unsigned char Lon_M; //13 |
unsigned char Lon_Sek1; //14 |
unsigned char Lon_Sek2; //15 |
unsigned int Distance; //16+17 // 9000 = 0m |
unsigned int Altitude; //18+19 // 500 = 0m |
unsigned int m_sec; //20+21 // 3000 = 0 |
unsigned int m_3sec; //22+23 // 3000 = 0 |
unsigned int m_10sec; //24+25 // 3000 = 0 |
unsigned char NullByte; // 0x00 |
unsigned char NullByte1; // 0x00 |
unsigned char EndByte; // 0x7D |
108,6 → 108,7 |
} ASCIIPacket_t; |
extern GPSPacket_t GPSPacket; |
extern VarioPacket_t VarioPacket; |
extern ASCIIPacket_t ASCIIPacket; |
/trunk/led.c |
---|
50,7 → 50,7 |
if(!J16Warn) |
{ |
if((EE_Parameter.BitConfig & CFG_MOTOR_BLINK) && !MotorenEin) {if(EE_Parameter.BitConfig & CFG_MOTOR_OFF_LED1) J16_ON; else J16_OFF;} |
if((EE_Parameter.BitConfig & CFG_MOTOR_BLINK1) && !MotorenEin) {if(EE_Parameter.BitConfig & CFG_MOTOR_OFF_LED1) J16_ON; else J16_OFF;} |
else |
if((EE_Parameter.J16Timing > 247) && (Parameter_J16Timing > 220)) {if(J16Bitmask & 128) J16_ON; else J16_OFF;} |
else |
73,7 → 73,7 |
if(!J17Warn) |
{ |
if((EE_Parameter.BitConfig & CFG_MOTOR_BLINK) && !MotorenEin) {if(EE_Parameter.BitConfig & CFG_MOTOR_OFF_LED2) J17_ON; else J17_OFF;} |
if((EE_Parameter.BitConfig & CFG_MOTOR_BLINK2) && !MotorenEin) {if(EE_Parameter.BitConfig & CFG_MOTOR_OFF_LED2) J17_ON; else J17_OFF;} |
else |
if((EE_Parameter.J17Timing > 247) && (Parameter_J17Timing > 220)) {if(J17Bitmask & 128) J17_ON; else J17_OFF;} |
else |
/trunk/libfc1284.a |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/libfc644.a |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/makefile |
---|
6,10 → 6,10 |
#------------------------------------------------------------------- |
VERSION_MAJOR = 0 |
VERSION_MINOR = 85 |
VERSION_PATCH = 13 |
VERSION_PATCH = 14 |
VERSION_SERIAL_MAJOR = 11 # Serial Protocol |
VERSION_SERIAL_MINOR = 0 # Serial Protocol |
NC_SPI_COMPATIBLE = 22 # Navi-Kompatibilität |
NC_SPI_COMPATIBLE = 23 # Navi-Kompatibilität |
#------------------------------------------------------------------- |
# get SVN revision |
/trunk/spi.c |
---|
333,7 → 333,6 |
NC_ErrorCode = FromNaviCtrl.Param.Byte[7]; |
NC_GPS_ModeCharacter = FromNaviCtrl.Param.Byte[8]; |
break; |
case SPI_NCCMD_GPSINFO: |
GPSInfo.Flags = FromNaviCtrl.Param.Byte[0]; |
GPSInfo.NumOfSats = FromNaviCtrl.Param.Byte[1]; |
345,6 → 344,12 |
FromNC_AltitudeSpeed = FromNaviCtrl.Param.Byte[9]; |
FromNC_AltitudeSetpoint = (long) FromNaviCtrl.Param.sInt[5] * 10; // in cm |
break; |
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)) |
case SPI_NCCMD_HOTT_DATA: |
if(EE_Parameter.Receiver == RECEIVER_HOTT) NC_Fills_HoTT_Telemety(); |
break; |
#endif |
// 0 = 0,1 |
// 1 = 2,3 |
// 2 = 4,5 |
/trunk/spi.h |
---|
93,6 → 93,7 |
#define SPI_NCCMD_KALMAN 103 |
#define SPI_NCCMD_VERSION 104 |
#define SPI_NCCMD_GPSINFO 105 |
#define SPI_NCCMD_HOTT_DATA 106 |
struct str_FromNaviCtrl |
{ |
/trunk/version.txt |
---|
489,4 → 489,5 |
- I2C Fehler kamen nicht bei der NC an, weil die zu kurz waren |
- Fehlermeldungen stehen jetzt mind. so lange an, bis sie an die Nc gesendet wurden |
- neue Fehlermeldung: "GPS Fix lost" |
- LED: Schaltfläche "nur bei Motor start" bei beiden getrennt |
- Ausbau der HoTT-Telemetrie |