/C-OSD/trunk/CHANGE.LOG |
---|
18,10 → 18,19 |
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * |
****************************************************************************/ |
20090427-2050 |
*clear() now faster |
*fixed calculation of max speed in stats (shaddi) |
*littel typo in artificial horizon (thx joko) |
*stats are only shown AFTER flight (more specific, after motors had been on at least once) |
+indication icon for serial link (requires new character 198) |
+indication icon for manual controll (stick > stick threshold) |
(Character set 192 needs to be reflashed since new icon is in it) |
20090420-0205 |
*reset-bug fixed |
*moved code a bit |
20090419-2145 |
*reset-bug workaround in usart1.c: usart1_DisableTXD and usart1_EnableTXD |
/C-OSD/trunk/c-osd.mcm |
---|
12674,54 → 12674,61 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01011010 |
01000000 |
00000000 |
00000001 |
01001010 |
10101010 |
10101001 |
01011001 |
01010101 |
01011001 |
01011001 |
01010101 |
01011001 |
01011001 |
01010101 |
01011001 |
01011010 |
10100001 |
01001000 |
00101000 |
00100001 |
01001000 |
10001000 |
10100001 |
01001000 |
00101000 |
10100001 |
01001000 |
10101000 |
10100001 |
01001000 |
10101000 |
00100001 |
01001010 |
10101010 |
10101001 |
01011001 |
01010101 |
01011001 |
01011001 |
01010101 |
01011001 |
01011001 |
01010101 |
01011001 |
01011010 |
10100001 |
00000000 |
00101000 |
00000000 |
00101010 |
10101010 |
10101001 |
01011001 |
10101000 |
00100000 |
00000000 |
00001000 |
00100010 |
00100010 |
00101000 |
00101000 |
10001000 |
10001000 |
00100010 |
00100010 |
00101000 |
00101000 |
00000000 |
00101000 |
00101010 |
10101010 |
10101000 |
00000000 |
00000000 |
00000000 |
01010101 |
01011001 |
01011001 |
01010101 |
01011001 |
01011001 |
01010101 |
01011001 |
01100101 |
01010101 |
01101001 |
01010101 |
01010101 |
01010101 |
12740,13 → 12747,6 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01010101 |
01011010 |
10101010 |
10101001 |
/C-OSD/trunk/characters.c |
---|
815,6 → 815,15 |
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, |
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa}; |
// pc icon |
unsigned char cc6[54] ={0x55, 0x55, 0x55, 0x40, 0x00, 0x01, 0x4a, 0xaa, |
0xa1, 0x48, 0x28, 0x21, 0x48, 0x88, 0xa1, 0x48, |
0x28, 0xa1, 0x48, 0xa8, 0xa1, 0x48, 0xa8, 0x21, |
0x4a, 0xaa, 0xa1, 0x00, 0x28, 0x00, 0x2a, 0xaa, |
0xa8, 0x20, 0x00, 0x08, 0x22, 0x22, 0x28, 0x28, |
0x88, 0x88, 0x22, 0x22, 0x28, 0x28, 0x00, 0x28, |
0x2a, 0xaa, 0xa8, 0x00, 0x00, 0x00}; |
learn_char(192, cc0); |
learn_char(193, cc1); |
learn_char(194, cc2); |
821,6 → 830,7 |
learn_char(195, cc3); |
learn_char(196, cc4); |
learn_char(197, cc5); |
learn_char(198, cc6); |
#endif |
#if WRITECHARS == 200 |
/C-OSD/trunk/main.c |
---|
428,7 → 428,7 |
write_char_xy(27, top_line+1, 0xCC); // small meters m home |
write_char_xy(7, bottom_line, 0x9E); // small v |
write_char_xy(14, bottom_line, 0xD1); // on clock |
write_char_xy(22, bottom_line, 0xD2); // fly clock |
write_char_xy(21, bottom_line, 0xD2); // fly clock |
write_char_xy(26, bottom_line, 0xC8); // sat1 |
write_char_xy(27, bottom_line, 0xC9); // sat2 |
COSD_FLAGS |= COSD_ICONS_WRITTEN; |
462,7 → 462,13 |
for (uint8_t x = 0; x < 4; x++) |
write_char_att_xy(7 + x, top_line, 0); |
} |
last_RC_Quality = naviData.RC_Quality; |
last_RC_Quality = naviData.RC_Quality; |
if (naviData.NCFlags & NC_FLAG_NOSERIALLINK) { |
write_char_xy(11, top_line, 0); // clear |
} else { |
write_char_xy(11, top_line, 0xC6); // PC icon |
} |
write_ndigit_number_u(13, top_line, naviData.CompassHeading, 100, 0); |
501,9 → 507,11 |
if (COSD_FLAGS & COSD_FLAG_ARTHORIZON) { |
draw_artificial_horizon(top_line + 2, bottom_line - 1, naviData.AngleNick, naviData.AngleRoll); |
} |
// motors are on, assume we were/are flying |
COSD_FLAGS |= COSD_WASFLYING; |
} else { |
// stats |
if (COSD_FLAGS & COSD_FLAG_STATS) { |
if ((COSD_FLAGS & COSD_WASFLYING) && (COSD_FLAGS & COSD_FLAG_STATS)) { |
write_ascii_string_pgm(2, 5, stats_item_pointers[0]); // max Altitude |
write_ndigit_number_s(18, 5, max_Altimeter / 30, 1000, 0); |
write_char_xy(22, 5, 204); // small meters m |
540,10 → 548,16 |
write_time(8, bottom_line, uptime); |
write_time(16, bottom_line, naviData.FlyingTime); |
write_time(15, bottom_line, naviData.FlyingTime); |
write_ndigit_number_u(24, bottom_line, naviData.SatsInUse, 10, 0); |
if (naviData.NCFlags & NC_FLAG_MANUAL_CONTROL) { |
write_char_xy(23, bottom_line, 0xB3); // rc transmitter |
} else { |
write_char_xy(23, bottom_line, 0); // clear |
} |
if (naviData.NCFlags & NC_FLAG_CH) { |
write_char_xy(27, bottom_line, 231); // gps ch |
} else if (naviData.NCFlags & NC_FLAG_PH) { |
/C-OSD/trunk/main.h |
---|
51,13 → 51,14 |
/* ########################################################################## |
* FLAGS usable during runtime |
* ##########################################################################*/ |
#define COSD_FLAG_NTSC 1 |
#define COSD_FLAG_HUD 2 |
#define COSD_FLAG_ARTHORIZON 4 |
#define COSD_FLAG_BIGVARIO 8 |
#define COSD_FLAG_STATS 16 |
#define COSD_FLAG_WARNINGS 32 |
#define COSD_ICONS_WRITTEN 64 |
#define COSD_FLAG_NTSC 1 |
#define COSD_FLAG_HUD 2 |
#define COSD_FLAG_ARTHORIZON 4 |
#define COSD_FLAG_BIGVARIO 8 |
#define COSD_FLAG_STATS 16 |
#define COSD_FLAG_WARNINGS 32 |
#define COSD_ICONS_WRITTEN 64 |
#define COSD_WASFLYING 128 |
/* ########################################################################## |
* LED controll |
/C-OSD/trunk/mk-data-structs.h |
---|
86,17 → 86,26 |
/* |
* MikroKopter Flags |
* portions taken and adapted from |
* http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.72p%2Fuart.h |
* taken from |
* http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.73d%2Ffc.h |
*/ |
#define NC_FLAG_FREE 1 |
#define NC_FLAG_PH 2 |
#define NC_FLAG_CH 4 |
#define NC_FLAG_RANGE_LIMIT 8 |
#define NC_SERIAL_LINK_OK 16 |
#define NC_FLAG_TARGET_REACHED 32 |
#define FLAG_MOTOR_RUN 1 |
#define FLAG_FLY 2 |
#define FLAG_CALIBRATE 4 |
#define FLAG_START 8 |
/* |
* NaviCtrl Flags |
* taken from |
* http://mikrocontroller.cco-ev.de/mikrowebsvn/filedetails.php?repname=NaviCtrl&path=%2Ftags%2FV0.15c%2Fuart1.h |
*/ |
#define NC_FLAG_FREE 0x01 |
#define NC_FLAG_PH 0x02 |
#define NC_FLAG_CH 0x04 |
#define NC_FLAG_RANGE_LIMIT 0x08 |
#define NC_FLAG_NOSERIALLINK 0x10 |
#define NC_FLAG_TARGET_REACHED 0x20 |
#define NC_FLAG_MANUAL_CONTROL 0x40 |
#define NC_FLAG_8 0x80 |