@@ -9,7 +9,7 @@ Works either over serial or with LCD + encoder
99V2.0
1010
1111main changes:
12- - non-blocking menu mode
12+ - non-blocking menu main cycle
1313 - Menufields as menu prompts with associated value
1414 values can be:
1515 numeric withing range
@@ -23,45 +23,45 @@ notes:
2323-------------------------------------------------------------------------------
2424example of menu definition (c++ macros)
2525
26- //a submenu
27- MENU(ledMenu,"LED on pin 13",
28- OP("LED On",ledOn),
29- OP("LED Off",ledOff)
30- );
31-
32- //field value toggle on click
33- TOGGLE(targetVar,trigModes,"Mode: ",
34- VALUE("None",trigPoint::None),
35- VALUE("On rise",trigPoint::onRise),
36- VALUE("On fall",trigPoint::onFall),
37- VALUE("Both",trigPoint::isIn)
38- );
39-
40- //field value, click to browse, click to choose
41- CHOOSE(adc_prescale,sample_clock,"Sample clock",
42- VALUE("/128",avrADC::clk_128,setADCClk),
43- VALUE("/64",avrADC::clk_64,setADCClk),
44- VALUE("/32",avrADC::clk_32,setADCClk),
45- VALUE("/16",avrADC::clk_16,setADCClk),
46- VALUE("/8",avrADC::clk_8,setADCClk),
47- VALUE("/4",avrADC::clk_4,setADCClk),
48- VALUE("/2",avrADC::clk_2,setADCClk)
49- );
50-
51- //the main menu...
52- //Fields are numeric and show selected value. click to start change, click to fine tune, click to end
53- MENU(mainMenu,"Main menu",
54- FIELD(frequency,"Freq","Hz",0,16000000,100,1,updateFreq),
55- FIELD(dutty,"Duty","%",0,100,1,0,updateDutty),
56- OP("Handler test",completeHandlerTest),
57- SUBMENU(trigModes),
58- SUBMENU(ledMenu)
59- );
26+ //a submenu
27+ MENU(ledMenu,"LED on pin 13",
28+ OP("LED On",ledOn),
29+ OP("LED Off",ledOff)
30+ );
31+
32+ //field value toggle on click
33+ TOGGLE(targetVar,trigModes,"Mode: ",
34+ VALUE("None",trigPoint::None),
35+ VALUE("On rise",trigPoint::onRise),
36+ VALUE("On fall",trigPoint::onFall),
37+ VALUE("Both",trigPoint::isIn)
38+ );
39+
40+ //field value, click to browse, click to choose
41+ CHOOSE(adc_prescale,sample_clock,"Sample clock",
42+ VALUE("/128",avrADC::clk_128,setADCClk),
43+ VALUE("/64",avrADC::clk_64,setADCClk),
44+ VALUE("/32",avrADC::clk_32,setADCClk),
45+ VALUE("/16",avrADC::clk_16,setADCClk),
46+ VALUE("/8",avrADC::clk_8,setADCClk),
47+ VALUE("/4",avrADC::clk_4,setADCClk),
48+ VALUE("/2",avrADC::clk_2,setADCClk)
49+ );
50+
51+ //the main menu...
52+ //Fields are numeric and show selected value. click to start change, click to fine tune, click to end
53+ MENU(mainMenu,"Main menu",
54+ FIELD(frequency,"Freq","Hz",0,16000000,100,1,updateFreq),
55+ FIELD(dutty,"Duty","%",0,100,1,0,updateDutty),
56+ OP("Handler test",completeHandlerTest),
57+ SUBMENU(trigModes),
58+ SUBMENU(ledMenu)
59+ );
6060
6161-------------------------------------------------------------------------------
6262syntax:
6363
64- OP(name,function)
64+ OP(name,function)
6565 name string to be shown as menu option prompt
6666 function to be called on click
6767
0 commit comments