0,0 → 1,311 |
|
/****************************************************************/ |
/* Setup für die Sticks */ |
/* 2013 Cebra */ |
/****************************************************************/ |
|
#include <stdio.h> |
#include <stdlib.h> |
#include <string.h> |
#include <math.h> |
#include "../cpu.h" |
#include <util/delay.h> |
#include <avr/pgmspace.h> |
#include <avr/interrupt.h> |
#include "../main.h" |
#include "../timer/timer.h" |
#include "stick_setup.h" |
#include "../lcd/lcd.h" |
#include "../timer/timer.h" |
#include "../menu.h" |
#include "../messages.h" |
#include "../mk-data-structs.h" |
#include "../eeprom/eeprom.h" |
#include "../setup/setup.h" |
|
|
//-------------------------------------------------------------- |
#define ITEMS_STICKS 7 |
|
const prog_char stick_menuitems[ITEMS_STICKS][NUM_LANG][18]= // Zeilen,Zeichen+1 |
{ |
{"Übersicht ","summary ","summary "}, |
{"Stick 1 \x1d","stick 1 \x1d","stick 1 \x1d"}, |
{"Stick 2 \x1d","stick 2 \x1d","stick 2 \x1d"}, |
{"Stick 3 \x1d","stick 3 \x1d","stick 3 \x1d"}, |
{"Stick 4 \x1d","stick 4 \x1d","stick 4 \x1d"}, |
{"Stick 5 \x1d","stick 5 \x1d","stick 5 \x1d"}, |
{"PKT Lipomessung ","PKT Lipo measure.","PKT Lipo measure."}, |
|
}; |
|
//-------------------------------------------------------------- |
|
#define ITEMS_STICK 5 |
|
const prog_char sticks_menuitems[ITEMS_STICK][NUM_LANG][18]= // Zeilen,Zeichen+1 |
{ |
{"Minimal Wert ","minimal value ","minimal value "}, |
{"Maximal Wert ","maximal value ","maximal value "}, |
{"Type ","type ","type "}, |
{"Richtung ","direction ","direction "}, |
{"Neutralisiered","neutralizing ","neutralizing "}, |
}; |
|
//-------------------------------------------------------------- |
|
|
void Joysticks_Uebersicht(void) |
{ |
lcd_cls (); |
lcd_printpns_at(0, 0, PSTR(" Joystick Setup "), 2); |
lcd_printpns_at(0, 1, PSTR("S Min Max Typ Dir N"), 0); |
|
for (uint8_t i = 0; i < 5; i++) { |
|
write_ndigit_number_u (0, 2+i,i+1, 1, 0,0); |
write_ndigit_number_u (2, 2+i,Config.stick_min[i], 3, 0,0); |
write_ndigit_number_u (6, 2+i,Config.stick_max[i], 3, 0,0); |
if (Config.stick_typ[i] == 0) lcd_printpns_at(10, 2+i, PSTR("Poti"), 0); else lcd_printpns_at(10, 2+i, PSTR("Tast"), 0); |
//if (Config.stick_typ[i] == 0) // MartinR: geändert |
//{ |
if (Config.stick_dir[i] == 0) lcd_printpns_at(15, 2+i, PSTR("Norm"), 0); else lcd_printpns_at(15, 2+i, PSTR("Rev"), 0); |
if (Config.stick_neutral[i] == 0) lcd_printpns_at(20, 2+i, PSTR("N"), 0); else lcd_printpns_at(20, 2+i, PSTR("Y"), 0); |
//} |
if (i == 1) if (Config.Lipomessung == true) lcd_printpns_at(3, 2+i, PSTR("PKT Lipomessung "), 0); |
|
} |
|
|
lcd_printp_at (18, 7, PSTR("OK"), 0); |
|
do{} |
while (!(get_key_press (1 << KEY_ENTER))); |
|
|
} |
|
|
|
//-------------------------------------------------------------- |
|
void Joysticks_Setup(void) |
{ |
size = ITEMS_STICKS; |
// uint8_t ii = 0; |
// uint8_t Offset = 0; |
// uint8_t dmode = 0; |
uint8_t target_pos = 1; |
// uint8_t val = 0; |
edit =0; |
|
while(1) |
{ |
size = ITEMS_STICKS; |
lcd_cls (); |
lcd_printpns_at(0, 0, PSTR(" Joystick Setup "), 2); |
// lcd_printp_at (0, 7, PSTR(KEY_LINE_1), 0); |
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,stick_menuitems[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) |
// { |
// if (edit == 1) |
// { |
// WriteParameter(); |
// edit = 0; |
// return; |
// } |
// return; |
// } |
// else |
// { |
// break; |
// } |
// } |
val = menu_select(stick_menuitems,size,target_pos); |
if (val==255) break; |
target_pos = val; |
|
if((val + offset)== 1 ) Joysticks_Uebersicht(); |
if((val + offset)== 2 ) stick_menu(0); //Stick 1 |
if((val + offset)== 3 ) { |
if (Config.Lipomessung == true) { |
lcd_cls (); |
lcd_puts_at(0, 3, strGet(LIPO_MESSUNG), 2); |
_delay_ms(1000); |
} |
else stick_menu(1); //Stick 2 |
} |
if((val + offset)== 4 ) stick_menu(2); //Stick 3 |
if((val + offset)== 5 ) stick_menu(3); //Stick 4 |
if((val + offset)== 6 ) stick_menu(4); //Stick 5 |
if((val + offset)== 7 ) Config.Lipomessung = Edit_generic(Config.Lipomessung,0,1,LIPO_MESSUNG,YesNo); |
} |
} |
|
|
//-------------------------------------------------------------- |
|
void stick_menu(uint8_t stick) |
{ |
|
// uint8_t ii = 0; |
// uint8_t Offset = 0; |
// uint8_t dmode = 0; |
uint8_t target_pos = 1; |
// uint8_t val = 0; |
edit =0; |
|
while(1) |
{ |
size = ITEMS_STICK; |
lcd_cls (); |
lcd_printpns_at(0, 0, PSTR("Joystick "), 2); |
write_ndigit_number_u (9, 0,stick+1, 1, 0,2); |
// lcd_printp_at (0, 7, PSTR(KEY_LINE_1), 0); |
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,sticks_menuitems[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) |
// { |
// if (edit == 1) |
// { |
// WriteParameter(); |
// edit = 0; |
// return; |
// } |
// return; |
// } |
// else |
// { |
// break; |
// } |
// } |
val = menu_select(sticks_menuitems,size,target_pos); |
if (val==255) break; |
target_pos = val; |
|
if((val + offset) == 1 ) Config.stick_min[stick]= Edit_generic(Config.stick_min[stick],0,300,STICK_MIN,Show_uint3); |
if((val + offset) == 2 ) Config.stick_max[stick]= Edit_generic(Config.stick_max[stick],0,300,STICK_MAX,Show_uint3); |
if((val + offset) == 3 ) Config.stick_typ[stick]= Edit_generic(Config.stick_typ[stick],0,1,STICK_TYPE,Sticktype); |
if((val + offset) == 4 ) Config.stick_dir[stick]= Edit_generic(Config.stick_dir[stick],0,1,STICK_DIR,NormRev); |
if((val + offset) == 5 ) Config.stick_neutral[stick]= Edit_generic(Config.stick_neutral[stick],0,1,STICK_NEUTRAL,YesNo); |
} |
} |
|
|
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |