Subversion Repositories Projects

Compare Revisions

Regard whitespace Rev 837 → Rev 902

/C-OSD/C-Strom/trunk/C-Strom.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
/C-OSD/C-Strom/trunk/C-Strom.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
/C-OSD/C-Strom/trunk/CHANGE.LOG
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
/C-OSD/C-Strom/trunk/README.TXT
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
/C-OSD/C-Strom/trunk/default/Makefile
0,0 → 1,94
#/****************************************************************************
# * Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
# * admiralcascade@gmail.com *
# * Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU General Public License as published by *
# * the Free Software Foundation; either version 2 of the License. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU General Public License for more details. *
# * *
# * You should have received a copy of the GNU General Public License *
# * along with this program; if not, write to the *
# * Free Software Foundation, Inc., *
# * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
# ****************************************************************************/
 
## General Flags
PROJECT = C-Strom
MCU = atmega8
TARGET = C-Strom.elf
CC = avr-gcc
 
## Options common to compile, link and assembly rules
COMMON = -mmcu=$(MCU)
 
## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d
 
## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += $(CFLAGS)
ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
 
## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS += -Wl,-Map=C-Strom.map
 
 
## Intel Hex file production flags
HEX_FLASH_FLAGS = -R .eeprom -R .fuse -R .lock -R .signature
 
HEX_EEPROM_FLAGS = -j .eeprom
HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"
HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings
 
 
## Objects that must be built in order to link
OBJECTS = C-Strom.o i2c_slave.o
 
## Objects explicitly added by the user
LINKONLYOBJECTS =
 
## Build
all: $(TARGET) C-Strom.hex C-Strom.eep C-Strom.lss size
 
## Compile
C-Strom.o: ../C-Strom.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
i2c_slave.o: ../i2c_slave.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
 
%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@
 
%.eep: $(TARGET)
-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
 
%.lss: $(TARGET)
avr-objdump -h -S $< > $@
 
size: ${TARGET}
@echo
@avr-size -C --mcu=${MCU} ${TARGET}
 
## Clean target
.PHONY: clean
clean:
-rm -rf $(OBJECTS) C-Strom.elf dep/* C-Strom.hex C-Strom.eep C-Strom.lss C-Strom.map
 
 
## Other dependencies
-include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)
 
/C-OSD/C-Strom/trunk/i2c_slave.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
/C-OSD/C-Strom/trunk/i2c_slave.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
/C-OSD/C-Strom/trunk/spi_union.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-strom/ *
* *
/C-OSD/trunk/CHANGE.LOG
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
18,6 → 18,13
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
20110202-1323
*added big speed indicator (credits to: uwerner)
*added possibility to show GPS-Coordinates during flight
*added more _brackets_
@To see correct corner-chars when using scope, flash the character-set
included in this release!
 
20101218-2030
*added _brackets_ to mark a scope when using a second camera
(might help to remember what the second camera is filming)
/C-OSD/trunk/README.TXT
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/buttons.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/buttons.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/c-osd.mcm
15362,145 → 15362,120
01010101
01010101
01010101
00000000
00000000
00000000
10101010
10101010
10101010
00000000
00000000
00000000
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
10101010
10100001
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01000000
00000000
01010101
00101010
10101000
01010101
00100000
00000000
00000000
10101010
10101010
10101010
00000000
00000000
00000000
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
00000000
00000000
00000000
10101010
10101010
10101010
00000000
00000000
00000000
10101000
01010101
00000001
01010101
10101000
01010101
01010101
10101000
01010101
01010101
10101000
01010101
01010101
10101000
01010101
01010101
10101000
01010101
01010101
10101000
01010101
01010101
10101000
01010101
01010101
10101000
01010101
01010101
10101000
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00000000
00000001
01010101
00101010
10101000
01010101
00000000
00000000
10101010
10101010
10101010
00000000
00000000
00000000
00001000
01010101
01010101
01001000
01010101
01010101
01001000
01010101
01010101
01001000
01010101
01010101
01001000
01010101
01010101
01001000
01010101
01010101
01001000
01010101
01010101
01001000
01010101
01010101
00000000
00000000
00000000
10101010
10101010
10101010
00000000
00000000
00000000
01001000
01010101
01010101
01000000
01010101
01010101
01010101
15513,31 → 15488,41
01010101
01010101
01010101
00000001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100000
00000000
01010101
00101010
10101000
01010101
01000000
00000000
00000000
10101010
10101010
10101010
00000000
00000000
00000000
01010101
01010101
01010101
15554,54 → 15539,53
01010101
01010101
01010101
00000101
01010101
01010101
10100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01010101
00100001
01010101
01000000
01010101
00100001
01010101
01001000
01010101
00100001
01010101
01001000
01010101
00100001
01010101
01001000
01010101
00100001
01010101
01001000
01010101
00100001
01010101
01001000
01010101
00100001
01010101
01001000
01010101
00100001
01010101
01001000
01010101
10100001
01010101
01001000
01010101
00000101
00000000
00001000
01010101
00101010
10101000
01010101
00000000
00000001
01010101
01010101
01010101
15618,6 → 15602,22
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00000000
00000000
00000001
/C-OSD/trunk/characters.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
33,7 → 33,7
*/
// chars 0 - 255 with 54 byte per char
// orginal filename: c-osd.mcm
// Sat, 18 Dec 2010 19:59:48 +0100
// Wed, 02 Feb 2011 12:29:26 +0100
 
 
 
5558,95 → 5558,95
 
 
// 0 ------------
// 1 ############
// 2
// 3 ############
// 4 #-----
// 5 #-----
// 6 #-----
// 7 #-----
// 8 #-----
// 9 #-----
// 10 #-----
// 11 #-----
// 12 #-----
// 13 #-----
// 14 ############
// 15
// 16 ############
// 17 ------------
// 1 ------------
// 2 ------------
// 3 ------------
// 4 ------------
// 5 ------------
// 6 -----#######
// 7 ----# #
// 8 ----# ######
// 9 ----# #-----
// 10 ----# #-----
// 11 ----# #-----
// 12 ----# #-----
// 13 ----# #-----
// 14 ----# #-----
// 15 ----# #-----
// 16 ----# #-----
// 17 ----###-----
// 000000000011
// 012345678901
const char chr240[] PROGMEM = {0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0xaa, 0xa1, 0x55, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x55, 0x55, 0x55};
const char chr240[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x2a,0xa8,0x55,0x20,0x00,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x01,0x55};
 
 
// 0 ------------
// 1 ############
// 2
// 3 ############
// 4 #--------
// 5 #--------
// 6 #--------
// 7 #--------
// 8 #--------
// 9 #--------
// 10 #--------
// 11 #--------
// 12 #--------
// 13 #--------
// 14 ############
// 15
// 16 ############
// 17 ------------
// 1 ------------
// 2 ------------
// 3 ------------
// 4 ------------
// 5 ------------
// 6 #######-----
// 7 # #----
// 8 ###### #----
// 9 -----# #----
// 10 -----# #----
// 11 -----# #----
// 12 -----# #----
// 13 -----# #----
// 14 -----# #----
// 15 -----# #----
// 16 -----# #----
// 17 -----###----
// 000000000011
// 012345678901
const char chr241[] PROGMEM = {0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0xa8, 0x55, 0x55, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x55, 0x55, 0x55};
const char chr241[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x01,0x55,0x2a,0xa8,0x55,0x00,0x08,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x40,0x55};
 
 
// 0 ------------
// 1 ############
// 2
// 3 ############
// 4 ------------
// 5 ------------
// 6 ------------
// 7 ------------
// 8 ------------
// 9 ------------
// 10 ------------
// 11 ------------
// 0 ----###-----
// 1 ----# #-----
// 2 ----# #-----
// 3 ----# #-----
// 4 ----# #-----
// 5 ----# #-----
// 6 ----# #-----
// 7 ----# #-----
// 8 ----# #-----
// 9 ----# ######
// 10 ----# #
// 11 -----#######
// 12 ------------
// 13 ------------
// 14 ############
// 15
// 16 ############
// 14 ------------
// 15 ------------
// 16 ------------
// 17 ------------
// 000000000011
// 012345678901
const char chr242[] PROGMEM = {0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x55, 0x55, 0x55};
const char chr242[] PROGMEM = {0x55,0x01,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x20,0x00,0x55,0x2a,0xa8,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
 
 
// 0 ------------
// 1 ##----------
// 2 #---------
// 3 # #---------
// 4 # #---------
// 5 # #---------
// 6 # #---------
// 7 # #---------
// 8 # #---------
// 9 # #---------
// 10 # #---------
// 11 # #---------
// 12 # #---------
// 13 # #---------
// 14 # #---------
// 15 #---------
// 16 ##----------
// 0 -----###----
// 1 -----# #----
// 2 -----# #----
// 3 -----# #----
// 4 -----# #----
// 5 -----# #----
// 6 -----# #----
// 7 -----# #----
// 8 -----# #----
// 9 ###### #----
// 10 # #----
// 11 #######-----
// 12 ------------
// 13 ------------
// 14 ------------
// 15 ------------
// 16 ------------
// 17 ------------
// 000000000011
// 012345678901
const char chr243[] PROGMEM = {0x55, 0x55, 0x55, 0x05, 0x55, 0x55, 0xa1, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0xa1, 0x55, 0x55, 0x05, 0x55, 0x55, 0x55, 0x55, 0x55};
const char chr243[] PROGMEM = {0x55,0x40,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x00,0x08,0x55,0x2a,0xa8,0x55,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
 
 
// 0 ------------
5924,7 → 5924,6
// 012345678901
const char chr255[] PROGMEM = {0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa};
 
 
const char *chars[] PROGMEM = {chr0, chr1, chr2, chr3, chr4, chr5, chr6, chr7, chr8, chr9, chr10, chr11, chr12, chr13, chr14, chr15, chr16, chr17, chr18, chr19, chr20, chr21, chr22, chr23, chr24, chr25, chr26, chr27, chr28, chr29, chr30, chr31, chr32, chr33, chr34, chr35, chr36, chr37, chr38, chr39, chr40, chr41, chr42, chr43, chr44, chr45, chr46, chr47, chr48, chr49, chr50, chr51, chr52, chr53, chr54, chr55, chr56, chr57, chr58, chr59, chr60, chr61, chr62, chr63, chr64, chr65, chr66, chr67, chr68, chr69, chr70, chr71, chr72, chr73, chr74, chr75, chr76, chr77, chr78, chr79, chr80, chr81, chr82, chr83, chr84, chr85, chr86, chr87, chr88, chr89, chr90, chr91, chr92, chr93, chr94, chr95, chr96, chr97, chr98, chr99, chr100, chr101, chr102, chr103, chr104, chr105, chr106, chr107, chr108, chr109, chr110, chr111, chr112, chr113, chr114, chr115, chr116, chr117, chr118, chr119, chr120, chr121, chr122, chr123, chr124, chr125, chr126, chr127, chr128, chr129, chr130, chr131, chr132, chr133, chr134, chr135, chr136, chr137, chr138, chr139, chr140, chr141, chr142, chr143, chr144, chr145, chr146, chr147, chr148, chr149, chr150, chr151, chr152, chr153, chr154, chr155, chr156, chr157, chr158, chr159, chr160, chr161, chr162, chr163, chr164, chr165, chr166, chr167, chr168, chr169, chr170, chr171, chr172, chr173, chr174, chr175, chr176, chr177, chr178, chr179, chr180, chr181, chr182, chr183, chr184, chr185, chr186, chr187, chr188, chr189, chr190, chr191, chr192, chr193, chr194, chr195, chr196, chr197, chr198, chr199, chr200, chr201, chr202, chr203, chr204, chr205, chr206, chr207, chr208, chr209, chr210, chr211, chr212, chr213, chr214, chr215, chr216, chr217, chr218, chr219, chr220, chr221, chr222, chr223, chr224, chr225, chr226, chr227, chr228, chr229, chr230, chr231, chr232, chr233, chr234, chr235, chr236, chr237, chr238, chr239, chr240, chr241, chr242, chr243, chr244, chr245, chr246, chr247, chr248, chr249, chr250, chr251, chr252, chr253, chr254, chr255};
 
/**
/C-OSD/trunk/characters.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/config.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
37,11 → 37,11
uint8_t EEMEM ee_COSD_FLAGS_MODES = 0;
uint8_t EEMEM ee_COSD_FLAGS_CONFIG = 0;
uint8_t EEMEM ee_COSD_DISPLAYMODE = 0;
uint8_t EEMEM ee_COSD_SCOPE [8] = {
5, 5,
25, 5,
5, 10,
25, 10
uint8_t EEMEM ee_COSD_SCOPE [12] = {
5, 5, 0,
25, 5, 0,
5, 10, 0,
25, 10, 0
};
 
// video modes
64,7 → 64,7
COSD_FLAGS_CONFIG = eeprom_read_byte(&ee_COSD_FLAGS_CONFIG);
COSD_DISPLAYMODE = eeprom_read_byte(&ee_COSD_DISPLAYMODE);
//if (verbose) write_ndigit_number_u(23, 11, COSD_DISPLAYMODE, 2, 0);
for (int i = 0; i < 8; i++) {
for (int i = 0; i < 12; i++) {
scope[i] = eeprom_read_byte(&ee_COSD_SCOPE[i]);
}
} else {
81,7 → 81,7
eeprom_write_byte(&ee_COSD_FLAGS_MODES, COSD_FLAGS_MODES);
eeprom_write_byte(&ee_COSD_FLAGS_CONFIG, COSD_FLAGS_CONFIG);
eeprom_write_byte(&ee_COSD_DISPLAYMODE, COSD_DISPLAYMODE);
for (int i = 0; i < 8; i++) {
for (int i = 0; i < 12; i++) {
eeprom_write_byte(&ee_COSD_SCOPE[i], scope[i]);
}
}
227,14 → 227,14
void config_menu_drawings(uint8_t chosen) {
static uint8_t old_y = 0;
uint8_t x = MENU_LEFT, y = MENU_TOP, line = MENU_TOP;
 
if (chosen > 5 && chosen < 13) { // right
//************************************************* 13 to 14
if (chosen > 6 && chosen < 15) { // right
x = MENU_MIDDLE;
y = chosen - 6 + MENU_TOP;
} else if (chosen < 7) {
y = chosen - 7 + MENU_TOP;
} else if (chosen < 8) {
y = chosen + MENU_TOP;
} else {
y = chosen - 6 + MENU_TOP;
y = chosen - 7 + MENU_TOP;
}
 
// clear prevoius _cursor_ and draw current
267,6 → 267,9
write_ascii_string_pgm(MENU_LEFT, ++line, PSTR("A by FC"));
onoff(MENU_LEFT + 10, line, COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT);
 
write_ascii_string_pgm(MENU_LEFT, ++line, PSTR("GPS Pos"));
onoff(MENU_LEFT + 10, line, COSD_FLAGS_CONFIG & COSD_FLAG_SHOW_COORDS);
 
// 2nd col
line = 2;
 
286,6 → 289,9
write_ascii_string_pgm(MENU_MIDDLE, ++line, PSTR("Big Vario"));
onoff(MENU_MIDDLE + 10, line, COSD_FLAGS_MODES & COSD_FLAG_BIGVARIO);
 
write_ascii_string_pgm(MENU_MIDDLE, ++line, PSTR("Big Speed"));
onoff(MENU_MIDDLE + 10, line, COSD_FLAGS_CONFIG & COSD_FLAG_BIGSPEED);
 
write_ascii_string_pgm(MENU_MIDDLE, ++line, PSTR("Passive"));
onoff(MENU_MIDDLE + 10, line, COSD_FLAGS_CONFIG & COSD_FLAG_PASSIVE);
 
296,13 → 302,13
 
 
// bottom
write_ascii_string_pgm(MENU_LEFT, 9, PSTR("Reset uptime"));
write_ascii_string_pgm(MENU_LEFT, 10, PSTR("Reset uptime"));
 
write_ascii_string_pgm(MENU_LEFT, 10, PSTR("Display Mode"));
write_ascii_string_pgm(18, 10, (const char *)(pgm_read_word(&(mode->desc))));
write_ascii_string_pgm(MENU_LEFT, 11, PSTR("Display Mode"));
write_ascii_string_pgm(15, 11, (const char *)(pgm_read_word(&(mode->desc))));
 
write_ascii_string_pgm(MENU_LEFT, 11, PSTR("Save config"));
write_ascii_string_pgm(MENU_LEFT, 12, PSTR("EXIT"));
write_ascii_string_pgm(MENU_LEFT, 12, PSTR("Save config"));
write_ascii_string_pgm(MENU_LEFT, 13, PSTR("EXIT"));
 
old_y = y;
}
324,12 → 330,16
clear();
draw_scope();
_delay_ms(500);
while (mode < 8) {
while (mode < 12) {
if (s2_pressed()) { // next
mode++;
_delay_ms(500);
} else if (s1_pressed()) {
scope[mode] = (scope[mode] + 1) % (mode % 2 == 0 ? 30 : bottom_line);
if (mode % 3 == 2) {
scope[mode] = (scope[mode] + 1) % 2;
} else {
scope[mode] = (scope[mode] + 1) % ((mode % 3) % 2 == 0 ? 30 : bottom_line);
}
clear();
draw_scope();
_delay_ms(100);
359,7 → 369,7
 
while (inmenu) {
if (s2_pressed()) {
chosen = (chosen + 1) % 17;
chosen = (chosen + 1) % 19;
//if (chosen == 12) chosen = 13; // SKIP unused menu space for now
config_menu_drawings(chosen);
_delay_ms(500);
395,32 → 405,38
case 5: // current by fc
COSD_FLAGS_MODES ^= COSD_FLAG_FCCURRENT;
break;
case 6: // 2nd voltage by c-strom
case 6: // GPS coordinates while flying
COSD_FLAGS_CONFIG ^= COSD_FLAG_SHOW_COORDS;
break;
case 7: // 2nd voltage by c-strom
COSD_FLAGS_MODES ^= COSD_FLAG_STROMVOLT;
break;
case 7: // GPS or BARO height
case 8: // GPS or BARO height
COSD_FLAGS_CONFIG ^= COSD_FLAG_GPSHEIGHT;
break;
case 8: // Feet and mph?
case 9: // Feet and mph?
COSD_FLAGS_CONFIG ^= COSD_FLAG_FEET;
break;
case 9: // big vario
case 10: // big vario
COSD_FLAGS_MODES ^= COSD_FLAG_BIGVARIO;
break;
case 10: // passive
case 11: // big Speed
COSD_FLAGS_CONFIG ^= COSD_FLAG_BIGSPEED;
break;
case 12: // passive
COSD_FLAGS_CONFIG ^= COSD_FLAG_PASSIVE;
break;
case 11: // scope
case 13: // scope
COSD_FLAGS_CONFIG ^= COSD_FLAG_SHOW_SCOPE;
break;
case 12: // move scope
case 14: // move scope
move_scope();
break;
case 13: // reset uptime
case 15: // reset uptime
uptime = 0;
config_menu_doclick(chosen);
break;
case 14: // change mode
case 16: // change mode
#if FCONLY
COSD_DISPLAYMODE = (COSD_DISPLAYMODE + 1) % (sizeof (fcdisplaymodes) / sizeof (displaymode_t));
mode = fcdisplaymodes;
433,11 → 449,11
osd_ncmode = (int(*)(void)) pgm_read_word(&mode->dfun);
#endif
break;
case 15: // save
case 17: // save
save_eeprom();
config_menu_doclick(chosen);
break;
case 16: // exit
case 18: // exit
inmenu = 0;
config_menu_doclick(chosen);
break;
/C-OSD/trunk/config.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
23,7 → 23,7
 
 
#define CHECKBYTE1 230
#define CHECKBYTE2 32
#define CHECKBYTE2 223
 
#define MENU_LEFT 1
#define MENU_MIDDLE 15
36,7 → 36,7
 
extern volatile uint16_t uptime;
 
extern uint8_t scope[8];
extern uint8_t scope[12];
 
/**
* read data saved in eeprom, print out message if <verbose> is set
/C-OSD/trunk/default/Makefile
1,7 → 1,24
###############################################################################
# Makefile for the project C-OSD
###############################################################################
#/****************************************************************************
# * Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
# * admiralcascade@gmail.com *
# * Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU General Public License as published by *
# * the Free Software Foundation; either version 2 of the License. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU General Public License for more details. *
# * *
# * You should have received a copy of the GNU General Public License *
# * along with this program; if not, write to the *
# * Free Software Foundation, Inc., *
# * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
# ****************************************************************************/
 
 
## General Flags
PROJECT = C-OSD
MCU = atmega162
/C-OSD/trunk/default/dist.bat
1,6 → 1,6
@echo off
:: /****************************************************************************
:: * Copyright (C) 2010 by Claas Anders "CaScAdE" Rathje *
:: * Copyright (C) 2010-2011 by Claas Anders "CaScAdE" Rathje *
:: * admiralcascade@gmail.com *
:: * Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
:: * *
19,7 → 19,7
:: * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
:: ****************************************************************************/
 
set DATE=20101218-2030
set DATE=20110202-1323
 
:: date /T
 
/C-OSD/trunk/main.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
84,11 → 84,11
uint8_t min_voltage = 0;
uint8_t max_voltage = 0;
 
uint8_t scope[8] = {
5, 5,
25, 5,
5, 10,
25, 10
uint8_t scope[12] = {
5, 5, 0,
25, 5, 0,
5, 10, 0,
25, 10, 0
};
 
// Flags
/C-OSD/trunk/main.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
97,6 → 97,8
#define COSD_FLAG_FEET 8
#define COSD_FLAG_PASSIVE 16
#define COSD_FLAG_SHOW_SCOPE 32
#define COSD_FLAG_SHOW_COORDS 64
#define COSD_FLAG_BIGSPEED 128
 
/* ##########################################################################
* FLAGS only usable during runtime (not saved)
180,7 → 182,7
uint8_t max_voltage;
 
// scope for 2nd camera field of view
uint8_t scope[8];
uint8_t scope[12];
 
// Flags
uint8_t COSD_FLAGS_MODES, COSD_FLAGS_CONFIG, COSD_FLAGS_RUNTIME, COSD_DISPLAYMODE;
/C-OSD/trunk/max7456_software_spi.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/max7456_software_spi.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/mk-data-structs.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/osd_fcmode_default.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/osd_fcmode_default.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/osd_fcmode_jopl.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/osd_fcmode_jopl.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/osd_helpers.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
328,8 → 328,66
*/
// save 20 byte :)
for (int i = 0; i < 4; i++) {
write_char_xy(scope[i * 2], scope[(i * 2) + 1], 0xEC + i);
write_char_xy(
scope[i * 3],
scope[(i * 3) + 1],
0xEC + i + (scope[(i * 3) + 2] * 4));
}
}
 
/**
* draw stats
*/
void draw_stats() {
#if FCONLY
#else
uint8_t line = 3;
write_ascii_string_pgm(1, line, (const char *)(pgm_read_word(&(stats_item_pointers[0])))); // max Altitude
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[1])))); // max Speed
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[2])))); // max Distance
 
if (COSD_FLAGS_CONFIG & COSD_FLAG_FEET) {
write_ndigit_number_s(16, line - 2, max_Altimeter * 32 / 10, 4, 0);
write_char_xy(20, line - 2, 0x7E); // small feet ft
write_ndigit_number_u(17, line - 1, (uint16_t)(((uint32_t)max_GroundSpeed * (uint32_t)279) / (uint32_t)12500), 3, 0);
write_char_xy(20, line - 1, 0x7D); // mp/h
write_ndigit_number_u(16, line - 0, max_Distance / 10 * 32 / 10, 4, 0);
write_char_xy(20, line - 0, 0x7E); // small feet ft
} else {
write_ndigit_number_s(16, line - 2, max_Altimeter, 4, 0);
write_char_xy(20, line - 2, 204); // small meters m
write_ndigit_number_u(17, line - 1, (uint16_t)(((uint32_t)max_GroundSpeed * (uint32_t)9) / (uint32_t)250), 3, 0);
write_char_xy(20, line - 1, 203); // km/h
write_ndigit_number_u(16, line - 0, max_Distance / 10, 4, 0);
write_char_xy(20, line - 0, 204); // small meters m
}
 
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[3])))); // min voltage
write_ndigit_number_u_10th(16, line, min_UBat, 3, 0);
write_char_xy(20, line, 0x9E); // small V
if ((COSD_FLAGS_RUNTIME & COSD_FLAG_STROMREC) || (COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT)) {
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[7])))); // ampere
write_ndigit_number_u_10th(16, line, max_ampere / 10, 3, 0);
write_char_xy(20, line, 0x9F); // small A
 
// wasted mampere in this flight (will count up after landing)
if ((COSD_FLAGS_RUNTIME & COSD_FLAG_STROMREC) && !(COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT)) {
write_ndigit_number_u(21, line, (ampere_wasted / 10) - wasted_ampere_offset, 5, 0);
} else if (COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT) {
 
write_ndigit_number_u(21, line, naviData.UsedCapacity - wasted_ampere_offset, 5, 0);
}
 
write_char_xy(26, line, 0xB5); // mah
}
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[4])))); // max time
write_time(14, line, max_FlyingTime);
write_char_xy(20, line, 210); // fly clock
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[5])))); // longitude
write_gps_pos(14, line, naviData.CurrentPosition.Longitude);
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[6])))); // latitude
write_gps_pos(14, line, naviData.CurrentPosition.Latitude);
#endif
}
 
#endif
/C-OSD/trunk/osd_helpers.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
77,4 → 77,9
* draw scope of a second camera
*/
void draw_scope();
 
/**
* draw stats
*/
void draw_stats();
#endif
/C-OSD/trunk/osd_ncmode_default.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
69,7 → 69,15
write_ndigit_number_u(2, top_line, (uint16_t)(((uint32_t)naviData.GroundSpeed * (uint32_t)279) / (uint32_t)12500), 3, 0);
} else {
write_ndigit_number_u(2, top_line, (uint16_t)(((uint32_t)naviData.GroundSpeed * (uint32_t)9) / (uint32_t)250), 3, 0);
 
// draw big speed-meter only if configure AND not flying OR stats off and not flying
if ((COSD_FLAGS_CONFIG & COSD_FLAG_BIGSPEED)
&& ((naviData.FCFlags & FCFLAG_MOTOR_RUN)
|| !((COSD_FLAGS_RUNTIME & COSD_WASFLYING) && (COSD_FLAGS_MODES & COSD_FLAG_STATS)))) {
 
draw_big_variometer(2, 8, (uint16_t)((uint32_t)naviData.GroundSpeed / (uint32_t)125));
}
}
 
write_ndigit_number_u(7, top_line, rc_signal, 3, 0);
if (rc_signal <= RCLVL_WRN && last_RC_Quality > RCLVL_WRN) {
178,52 → 186,7
}
// stats
if ((COSD_FLAGS_RUNTIME & COSD_WASFLYING) && (COSD_FLAGS_MODES & COSD_FLAG_STATS)) {
uint8_t line = 3;
write_ascii_string_pgm(1, line, (const char *)(pgm_read_word(&(stats_item_pointers[0])))); // max Altitude
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[1])))); // max Speed
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[2])))); // max Distance
 
if (COSD_FLAGS_CONFIG & COSD_FLAG_FEET) {
write_ndigit_number_s(16, line - 2, max_Altimeter * 32 / 10, 4, 0);
write_char_xy(20, line - 2, 0x7E); // small feet ft
write_ndigit_number_u(17, line - 1, (uint16_t)(((uint32_t)max_GroundSpeed * (uint32_t)279) / (uint32_t)12500), 3, 0);
write_char_xy(20, line - 1, 0x7D); // mp/h
write_ndigit_number_u(16, line - 0, max_Distance / 10 * 32 / 10, 4, 0);
write_char_xy(20, line - 0, 0x7E); // small feet ft
} else {
write_ndigit_number_s(16, line - 2, max_Altimeter, 4, 0);
write_char_xy(20, line - 2, 204); // small meters m
write_ndigit_number_u(17, line - 1, (uint16_t)(((uint32_t)max_GroundSpeed * (uint32_t)9) / (uint32_t)250), 3, 0);
write_char_xy(20, line - 1, 203); // km/h
write_ndigit_number_u(16, line - 0, max_Distance / 10, 4, 0);
write_char_xy(20, line - 0, 204); // small meters m
}
 
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[3])))); // min voltage
write_ndigit_number_u_10th(16, line, min_UBat, 3, 0);
write_char_xy(20, line, 0x9E); // small V
if ((COSD_FLAGS_RUNTIME & COSD_FLAG_STROMREC) || (COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT)) {
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[7])))); // ampere
write_ndigit_number_u_10th(16, line, max_ampere / 10, 3, 0);
write_char_xy(20, line, 0x9F); // small A
 
// wasted mampere in this flight (will count up after landing)
if ((COSD_FLAGS_RUNTIME & COSD_FLAG_STROMREC) && !(COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT)) {
write_ndigit_number_u(21, line, (ampere_wasted / 10) - wasted_ampere_offset, 5, 0);
} else if (COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT) {
 
write_ndigit_number_u(21, line, naviData.UsedCapacity - wasted_ampere_offset, 5, 0);
}
 
write_char_xy(26, line, 0xB5); // mah
}
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[4])))); // max time
write_time(14, line, max_FlyingTime);
write_char_xy(20, line, 210); // fly clock
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[5])))); // longitude
write_gps_pos(14, line, naviData.CurrentPosition.Longitude);
write_ascii_string_pgm(1, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[6])))); // latitude
write_gps_pos(14, line, naviData.CurrentPosition.Latitude);
draw_stats();
} else if (COSD_FLAGS_MODES & COSD_FLAG_ARTHORIZON) { // if no stats there is space horizon
uint8_t horizon_bottom = bottom_line - 1;
if ((COSD_FLAGS_RUNTIME & COSD_FLAG_STROMREC) || (COSD_FLAGS_MODES & COSD_FLAG_FCCURRENT)) {
236,6 → 199,15
}
}
}
 
// show coords only when configure AND stats are off OR stats are on and motors are off
if ((COSD_FLAGS_CONFIG & COSD_FLAG_SHOW_COORDS)
&& ((naviData.FCFlags & FCFLAG_MOTOR_RUN)
|| !((COSD_FLAGS_RUNTIME & COSD_WASFLYING) && (COSD_FLAGS_MODES & COSD_FLAG_STATS)))) {
write_gps_pos(15, bottom_line - 2, naviData.CurrentPosition.Longitude);
write_gps_pos(15, bottom_line - 1, naviData.CurrentPosition.Latitude);
}
 
if (COSD_FLAGS_MODES & COSD_FLAG_BIGVARIO) {
draw_big_variometer(27, 8, naviData.Variometer);
}
293,9 → 265,10
write_char_xy(27, bottom_line, 201); // sat2 (free)
}
 
 
// after all, draw scope
if (COSD_FLAGS_CONFIG & COSD_FLAG_SHOW_SCOPE) {
// after all, draw scope WHEN configured AND flying OR Stats are off
if ((COSD_FLAGS_CONFIG & COSD_FLAG_SHOW_SCOPE)
&& ((naviData.FCFlags & FCFLAG_MOTOR_RUN)
|| !((COSD_FLAGS_RUNTIME & COSD_WASFLYING) && (COSD_FLAGS_MODES & COSD_FLAG_STATS)))) {
draw_scope();
}
}
/C-OSD/trunk/osd_ncmode_default.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/osd_ncmode_minimal.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
80,39 → 80,9
} else {
// stats
if ((COSD_FLAGS_RUNTIME & COSD_WASFLYING) && (COSD_FLAGS_MODES & COSD_FLAG_STATS)) {
uint8_t line = 3;
write_ascii_string_pgm(2, line, (const char *)(pgm_read_word(&(stats_item_pointers[0])))); // max Altitude
write_ndigit_number_s(18, line, max_Altimeter / 20, 4, 0);
write_char_xy(22, line, 204); // small meters m
write_ascii_string_pgm(2, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[1])))); // max Speed
write_ndigit_number_u(19, line, (uint16_t)(((uint32_t)max_GroundSpeed * (uint32_t)9) / (uint32_t)250), 3, 0);
write_char_xy(22, line, 203); // km/h
write_ascii_string_pgm(2, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[2])))); // max Distance
write_ndigit_number_u(19, line, max_Distance / 10, 3, 0);
write_char_xy(22, line, 204); // small meters m
write_ascii_string_pgm(2, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[3])))); // min voltage
write_ndigit_number_u_10th(18, line, min_UBat, 3, 0);
write_char_xy(22, line, 0x9E); // small V
if (COSD_FLAGS_RUNTIME & COSD_FLAG_STROMREC) {
write_ascii_string_pgm(2, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[7])))); // ampere
write_ndigit_number_u_10th(18, line, max_ampere / 10, 3, 0);
write_char_xy(22, line, 0x9F); // small A
draw_stats();
}
write_ascii_string_pgm(2, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[4])))); // max time
write_time(16, line, max_FlyingTime);
write_char_xy(22, line, 210); // fly clock
write_ascii_string_pgm(2, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[5])))); // longitude
write_gps_pos(15, line, naviData.CurrentPosition.Longitude);
write_ascii_string_pgm(2, ++line, (const char *)(pgm_read_word(&(stats_item_pointers[6])))); // latitude
write_gps_pos(15, line, naviData.CurrentPosition.Latitude);
} else if (COSD_FLAGS_MODES & COSD_FLAG_ARTHORIZON) { // if no stats there is space horizon
if (COSD_FLAGS_RUNTIME & COSD_FLAG_STROMREC) {
draw_artificial_horizon(top_line + 2, bottom_line - 2, naviData.AngleNick, naviData.AngleRoll);
} else {
draw_artificial_horizon(top_line + 2, bottom_line - 1, naviData.AngleNick, naviData.AngleRoll);
}
}
}
if (COSD_FLAGS_MODES & COSD_FLAG_BIGVARIO) {
draw_big_variometer(27, 8, naviData.Variometer);
}
/C-OSD/trunk/osd_ncmode_minimal.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/ppm.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/ppm.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/spi.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/spi.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/usart0.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/usart0.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/usart1.c
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
/C-OSD/trunk/usart1.h
1,5 → 1,5
/****************************************************************************
* Copyright (C) 2009-2010 by Claas Anders "CaScAdE" Rathje *
* Copyright (C) 2009-2011 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *