0,0 → 1,356 |
/***************************************************************************** |
* Copyright (C) 2008 Thomas Kaiser, thomas@ft-fanpage.de * |
* Copyright (C) 2009 Peter "woggle" Mack, mac@denich.net * |
* Copyright (C) 2011 Christian "Cebra" Brandtner, brandtner@brandtner.net * |
* Copyright (C) 2011 Harald Bongartz * |
* * |
* 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. * |
* * |
* * |
* Credits to: * |
* Holger Buss & Ingo Busker from mikrokopter.de for the MK project + SVN * |
* http://www.mikrokopter.de * |
* Gregor "killagreg" Stobrawa for his version of the MK code * |
* Thomas Kaiser "thkais" for the original project. See * |
* http://www.ft-fanpage.de/mikrokopter/ * |
* http://forum.mikrokopter.de/topic-4061-1.html * |
* Claas Anders "CaScAdE" Rathje for providing the font and his C-OSD code * |
* http://www.mylifesucks.de/oss/c-osd/ * |
* Harald Bongartz "HaraldB" for providing his Ideas and Code for usibility* |
*****************************************************************************/ |
|
|
#include "cpu.h" |
#include <avr/io.h> |
#include <avr/interrupt.h> |
#include <avr/pgmspace.h> |
#include <string.h> |
#include <stdlib.h> |
#include <stdbool.h> |
#include <util/delay.h> |
#include "main.h" |
#include "setup/setup.h" |
#include "lcd/lcd.h" |
#include "menu.h" |
#include "tracking/servo.h" |
#include "motortest/motortest.h" |
#include "eeprom/eeprom.h" |
#include "timer/timer.h" |
#include "connect.h" |
#ifdef HWVERSION3_9 |
#include "HAL_HW3_9.h" |
#endif |
#ifdef HWVERSION1_3 |
#include "HAL_HW1_3.h" |
#endif |
//#include "voltmeter.h" |
#include "lipo/lipo.h" |
#include "messages.h" |
#include "menu.h" |
|
//-------------------------------------------------------------- |
|
#define ITEMS_TOOLS 6 |
|
|
|
|
const prog_char tools_menuitems_pkt[ITEMS_TOOLS][NUM_LANG][18]= // zeilen,zeichen+1 |
// German, English, French, Netherlands |
{ |
{"Motor Tester ","Motor Tester ","Motor Tester "}, |
{"Servo Tester ","Servo Tester ","Servo Tester "}, |
{"PC BT > Kopter ","PC BT > Kopter ","PC BT > Kopter "}, |
{"PC USB > Kopter ","PC USB > Kopter ","PC USB > Kopter "}, |
{"PKT Setup \x1d","PKT Setup \x1d","PKT Setup \x1d"}, |
{"PKT Version ","PKT Version ","PKT Version "}, |
}; |
|
|
|
|
//-------------------------------------------------------------- |
void PKT_Tools (void) |
{ |
// ii = 0; |
// offset = 0; |
// size = 0; |
// size = ITEMS_PKT ; |
// dmode = 0; |
target_pos = 1; |
// val = 0; |
|
|
// uint8_t ii = 0; |
// uint8_t offset = 0; |
// uint8_t size = 0; |
// |
// uint8_t dmode = 0; |
// uint8_t target_pos = 1; |
// uint8_t val; |
|
while(1) |
{ |
size = ITEMS_TOOLS ; |
lcd_cls (); |
lcd_printp_at (0, 0, PSTR(" PKT-Tools "), 2); |
lcd_puts_at(0, 7, strGet(KEYLINE1), 0); |
|
// while(2) |
// { |
// ii = 0; |
// if(offset > 0) |
// { |
// lcd_printp_at(1,1, PSTR("\x12"), 0); |
// } |
// for(ii = 0;ii < 6 ; ii++) |
// { |
// if((ii+offset) < size) |
// { |
// lcd_printp_at(3,ii+1,tools_menuitems_pkt[ii+offset][Config.DisplayLanguage], 0); |
// } |
// if((ii == 5)&&(ii+offset < (size-1))) |
// { |
// lcd_printp_at(1,6, PSTR("\x13"), 0); |
// } |
// } |
// if(dmode == 0) |
// { |
// if(offset == 0) |
// { |
// if(size > 6) |
// { |
// val = menu_choose2 (1, 5, target_pos,0,1); |
// } |
// else |
// { |
// val = menu_choose2 (1, size, target_pos,0,0); |
// } |
// } |
// else |
// { |
// val = menu_choose2 (2, 5, target_pos,1,1); |
// } |
// } |
// if(dmode == 1) |
// { |
// if(offset+7 > size) |
// { |
// val = menu_choose2 (2, 6, target_pos,1,0); |
// } |
// else |
// { |
// val = menu_choose2 (2, 5, target_pos,1,1); |
// } |
// } |
// if(val == 254) |
// { |
// offset++; |
// dmode = 1; |
// target_pos = 5; |
// } |
// else if(val == 253) |
// { |
// offset--; |
// dmode = 0; |
// target_pos = 2; |
// } |
// else if(val == 255) |
// { |
// return; |
// } |
// else |
// { |
// break; |
// } |
// |
// } |
|
val = menu_select(tools_menuitems_pkt,size,target_pos); |
if (val==255) break; |
target_pos = val; |
|
if((val+offset) == 1 ) |
motor_test(FC_Mode); |
if((val+offset) == 2 ) |
servo_test(); |
#ifdef HWVERSION3_9 |
if(Config.U02SV2 == 0) |
{ |
if((val+offset) == 3 ) |
Port_BT2Wi(); |
|
if((val+offset) == 4 ) |
Port_USB2Wi(); |
} |
else if(Config.U02SV2 == 1) |
{ |
if((val+offset) == 3 ) |
Port_BT2FC(); |
|
if((val+offset) == 4 ) |
Port_USB2FC(); |
} |
#else |
if((val+offset) == 3 ) |
Show_Error_HW(); |
if((val+offset) == 4 ) |
Show_Error_HW(); |
#endif |
if((val+offset) == 5) |
PKT_Setup(); |
if((val+offset) == 6) |
Show_Version(); |
} |
} |
|
|
//-------------------------------------------------------------- |
// |
void PC_Fast_Connect (void) |
|
{ |
uint8_t value = 1; |
|
while(1) |
{ |
|
lcd_cls(); |
// lcd_printp_at (0, 0, PSTR(" PC-Quick-Verbindung "), 2); |
lcd_puts_at(0, 8, strGet(TOOLS1), 2); |
lcd_printp_at (3, 3, PSTR("PC BT > Kopter"), 0); |
lcd_printp_at (3, 4, PSTR("PC USB > Kopter"), 0); |
// lcd_printp_at (0, 7, PSTR(KEY_LINE_1), 0); |
lcd_puts_at(0, 7, strGet(KEYLINE1), 0); |
// lcd_puts_at(0, 7, strGet(KEYLINE1), 0); |
|
while(2) |
{ |
if(value == 1) |
{ |
lcd_printp_at (1, 3, PSTR("\x1d"), 0); |
lcd_printp_at (1, 4, PSTR(" "), 0); |
} |
else |
{ |
lcd_printp_at (1, 3, PSTR(" "), 0); |
lcd_printp_at (1, 4, PSTR("\x1d"), 0); |
} |
|
if(get_key_press (1 << KEY_MINUS)) |
value = 1; |
|
if(get_key_press (1 << KEY_PLUS)) |
value = 2; |
|
|
if(get_key_short (1 << KEY_ENTER)) |
|
{ |
#ifdef HWVERSION3_9 |
if(Config.U02SV2 == 0) |
{ |
if(value == 1) |
Port_BT2Wi(); |
if(value == 2) |
Port_USB2Wi(); |
} |
else if(Config.U02SV2 == 1) |
{ |
if(value == 1) |
Port_BT2FC(); |
if(value == 2) |
Port_USB2FC(); |
} |
#else |
if(value == 1) |
Show_Error_HW(); |
if(value == 2) |
Show_Error_HW(); |
#endif |
break; |
} |
|
if(get_key_press (1 << KEY_ESC)) |
{ |
get_key_press(KEY_ALL); |
return; |
} |
|
} |
} |
} |
|
|
//void Test_HB (void) // bleibt für Tests |
//{ |
//#ifdef HWVERSION3_9 |
//// ADC_Init(); |
//// |
//// uint16_t volt_avg = 0; |
////// uint64_t volt_tmp = 0; |
//// uint16_t Balken = 0; |
// |
// |
// lcd_cls(); |
// lcd_printp_at(12, 7, PSTR("Ende"), 0); |
// |
//// lcd_rect(104, 0, 23, 8, 1); // Rahmen |
// |
// do |
// { |
//// |
//// |
// if(samples>4095) |
// { |
//// write_ndigit_number_u(0, 4, accumulator, 5, 0); |
// oversampled(); |
// volt_avg = Vin; |
// } |
//// // write_ndigit_number_u(0, 3, samples, 5, 0); |
//// |
////// write_ndigit_number_u(0, 1, Vin, 5, 0); |
//// _delay_ms(50); |
// |
// show_Lipo(); |
// |
// write_ndigit_number_u_100th(5, 5, volt_avg, 0, 0); |
// lcd_printp_at(10, 5, PSTR("Volt"), 0); |
//// |
//// |
//// |
// write_ndigit_number_u(0, 6, Config.Lipo_UOffset, 5, 0,0); |
//// write_ndigit_number_u(15, 6, WarnCount, 4, 0); |
////// write_ndigit_number_u(10, 5, Vcorr, 4, 0); |
// |
// |
// if (get_key_press (1 << KEY_PLUS) | get_key_long_rpt_sp ((1 << KEY_PLUS), 3)) |
// { |
// Config.Lipo_UOffset = Config.Lipo_UOffset +10; |
// } |
// |
// if (get_key_press (1 << KEY_MINUS) | get_key_long_rpt_sp ((1 << KEY_MINUS),3)) |
// { |
// Config.Lipo_UOffset = Config.Lipo_UOffset -10; |
// } |
//// |
// } |
// |
// |
// while(!get_key_press (1 << KEY_ESC)); |
// get_key_press(KEY_ALL); |
// return; |
//#endif |
//} |
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |