Skip to content

Commit 88addd9

Browse files
committed
commander_analogRead_func
* New argparser implementation. * Moved to a separate file.
1 parent 0759886 commit 88addd9

File tree

12 files changed

+381
-157
lines changed

12 files changed

+381
-157
lines changed

.vscode/settings.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
{
22
"files.associations": {
3-
"*.example": "cpp"
3+
"*.example": "cpp",
4+
"type_traits": "cpp",
5+
"xtr1common": "cpp"
46
}
57
}

CMakeLists.txt

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,15 @@ if (RUN_TESTS)
7070

7171
endif()
7272

73+
if( BUILD_EXAMPLES )
74+
75+
set( CUSTOM_COMMANDS
76+
extras/simulator/CustomCommands.cpp
77+
extras/simulator/CustomCommands.hpp
78+
)
79+
80+
endif()
81+
7382
# Commander settings
7483
add_compile_definitions(
7584
# SHELLMINATOR_ENABLE_HIGH_MEMORY_USAGE
@@ -100,34 +109,34 @@ endif()
100109
#---- Examples Section ----#
101110

102111
if( BUILD_EXAMPLES )
103-
add_executable( Argumentadvanced ${SOURCES} extras/examples_desktop/Desktop/Argumentadvanced/Argumentadvanced.cpp )
104-
add_executable( Argumentbasic ${SOURCES} extras/examples_desktop/Desktop/Argumentbasic/Argumentbasic.cpp )
105-
add_executable( Basic ${SOURCES} extras/examples_desktop/Desktop/Basic/Basic.cpp )
106-
add_executable( Blink ${SOURCES} extras/examples_desktop/Desktop/Blink/Blink.cpp )
107-
add_executable( Description ${SOURCES} extras/examples_desktop/Desktop/Description/Description.cpp )
108-
add_executable( Help ${SOURCES} extras/examples_desktop/Desktop/Help/Help.cpp )
109-
add_executable( Interactive ${SOURCES} extras/examples_desktop/Desktop/Interactive/Interactive.cpp )
112+
add_executable( Argumentadvanced ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_desktop/Desktop/Argumentadvanced/Argumentadvanced.cpp )
113+
add_executable( Argumentbasic ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_desktop/Desktop/Argumentbasic/Argumentbasic.cpp )
114+
add_executable( Basic ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_desktop/Desktop/Basic/Basic.cpp )
115+
add_executable( Blink ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_desktop/Desktop/Blink/Blink.cpp )
116+
add_executable( Description ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_desktop/Desktop/Description/Description.cpp )
117+
add_executable( Help ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_desktop/Desktop/Help/Help.cpp )
118+
add_executable( Interactive ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_desktop/Desktop/Interactive/Interactive.cpp )
110119
endif()
111120
if( BUILD_WEBASSEMBLY )
112-
add_executable( Argumentadvanced ${SOURCES} extras/examples_emscripten/Emscripten/Argumentadvanced/Argumentadvanced.cpp )
121+
add_executable( Argumentadvanced ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_emscripten/Emscripten/Argumentadvanced/Argumentadvanced.cpp )
113122
target_link_options( Argumentadvanced PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )
114123

115-
add_executable( Argumentbasic ${SOURCES} extras/examples_emscripten/Emscripten/Argumentbasic/Argumentbasic.cpp )
124+
add_executable( Argumentbasic ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_emscripten/Emscripten/Argumentbasic/Argumentbasic.cpp )
116125
target_link_options( Argumentbasic PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )
117126

118-
add_executable( Basic ${SOURCES} extras/examples_emscripten/Emscripten/Basic/Basic.cpp )
127+
add_executable( Basic ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_emscripten/Emscripten/Basic/Basic.cpp )
119128
target_link_options( Basic PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )
120129

121-
add_executable( Blink ${SOURCES} extras/examples_emscripten/Emscripten/Blink/Blink.cpp )
130+
add_executable( Blink ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_emscripten/Emscripten/Blink/Blink.cpp )
122131
target_link_options( Blink PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )
123132

124-
add_executable( Description ${SOURCES} extras/examples_emscripten/Emscripten/Description/Description.cpp )
133+
add_executable( Description ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_emscripten/Emscripten/Description/Description.cpp )
125134
target_link_options( Description PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )
126135

127-
add_executable( Help ${SOURCES} extras/examples_emscripten/Emscripten/Help/Help.cpp )
136+
add_executable( Help ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_emscripten/Emscripten/Help/Help.cpp )
128137
target_link_options( Help PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )
129138

130-
add_executable( Interactive ${SOURCES} extras/examples_emscripten/Emscripten/Interactive/Interactive.cpp )
139+
add_executable( Interactive ${SOURCES} ${CUSTOM_COMMANDS} extras/examples_emscripten/Emscripten/Interactive/Interactive.cpp )
131140
target_link_options( Interactive PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )
132141

133142
endif()

exampleGenerator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,15 +244,15 @@ def findLine( lst, data ):
244244
outputFile.write( secondRunData )
245245
outputFile.close()
246246

247-
CMakeContent.append( "\tadd_executable( " + exampleFolderName + " ${SOURCES} " + desktopExampleFolder[ 1: ] + "/" + boardInfo + "/" + exampleFolderName + "/" + exampleFolderName + ".cpp )\n" )
247+
CMakeContent.append( "\tadd_executable( " + exampleFolderName + " ${SOURCES} ${CUSTOM_COMMANDS} " + desktopExampleFolder[ 1: ] + "/" + boardInfo + "/" + exampleFolderName + "/" + exampleFolderName + ".cpp )\n" )
248248

249249
if environmentInfo == 'Emscripten':
250250
os.mkdir( rootDirectory + emscriptenExampleFolder + "/" + boardInfo + "/" + exampleFolderName )
251251
outputFile = open( rootDirectory + emscriptenExampleFolder + "/" + boardInfo + "/" + exampleFolderName + "/" + exampleFolderName + ".cpp", "w" )
252252
outputFile.write( secondRunData )
253253
outputFile.close()
254254

255-
CMakeContent.append( "\tadd_executable( " + exampleFolderName + " ${SOURCES} " + emscriptenExampleFolder[ 1: ] + "/" + boardInfo + "/" + exampleFolderName + "/" + exampleFolderName + ".cpp )\n" )
255+
CMakeContent.append( "\tadd_executable( " + exampleFolderName + " ${SOURCES} ${CUSTOM_COMMANDS} " + emscriptenExampleFolder[ 1: ] + "/" + boardInfo + "/" + exampleFolderName + "/" + exampleFolderName + ".cpp )\n" )
256256
CMakeContent.append( "\ttarget_link_options( " + exampleFolderName + " PUBLIC -sNO_EXIT_RUNTIME=1 -sFORCE_FILESYSTEM=1 -sRETAIN_COMPILER_SETTINGS -sASYNCIFY )\n\n" )
257257
print( "", end="\n" )
258258

extras/example_database/blink.example

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -54,40 +54,44 @@ commander.attachTree( API_tree );
5454
// Commander at the beginning of your code to prevent stack-overflow.
5555
commander.init();
5656

57-
Serial.println();
58-
Serial.println( __CONST_TXT__( "---- Init Finished ----" ) );
59-
Serial.println();
57+
{{ channel }}.println();
58+
{{ channel }}.println( __CONST_TXT__( "---- Init Finished ----" ) );
59+
{{ channel }}.println();
6060

6161
// List all the available commands.
62-
Serial.println( __CONST_TXT__( "Executing 'help -d' command:" ) );
63-
commander.execute( "help -d", &Serial );
64-
Serial.println();
62+
{{ channel }}.println( __CONST_TXT__( "Executing 'help -d' command:" ) );
63+
commander.execute( "help -d", &{{ channel }} );
64+
{{ channel }}.println();
6565

6666
// Set pin 13 to output. Usually the LED is on this pin.
67-
Serial.println( __CONST_TXT__( "Executing 'pinMode -p 13 -o' command:" ) );
68-
commander.execute( "pinMode -p 13 -o", &Serial );
69-
Serial.println();
67+
{{ channel }}.println( __CONST_TXT__( "Executing 'pinMode -p 13 -o' command:" ) );
68+
commander.execute( "pinMode -p 13 -o", &{{ channel }} );
69+
{{ channel }}.println();
7070

7171
++--LOOP--++
7272

7373
// Set pin 13 to logic high. It will turn on the built in LED on most boards.
74-
Serial.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -h' command:" ) );
75-
commander.execute( "digitalWrite -p 13 -h", &Serial );
74+
{{ channel }}.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -h' command:" ) );
75+
commander.execute( "digitalWrite -p 13 -h", &{{ channel }} );
76+
{{ channel }}.println();
7677

7778
// Read the state of pin 13.
78-
Serial.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
79-
commander.execute( "digitalRead -p 13", &Serial );
79+
{{ channel }}.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
80+
commander.execute( "digitalRead -p 13", &{{ channel }} );
81+
{{ channel }}.println();
8082

8183
// Delay one seconds.
8284
delay( 1000 );
8385

8486
// Set pin 13 to logic low. It will turn off the built in LED on most boards.
85-
Serial.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -l' command:" ) );
86-
commander.execute( "digitalWrite -p 13 -h", &Serial );
87+
{{ channel }}.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -l' command:" ) );
88+
commander.execute( "digitalWrite -p 13 -h", &{{ channel }} );
89+
{{ channel }}.println();
8790

8891
// Read the state of pin 13.
89-
Serial.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
90-
commander.execute( "digitalRead -p 13", &Serial );
92+
{{ channel }}.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
93+
commander.execute( "digitalRead -p 13", &{{ channel }} );
94+
{{ channel }}.println();
9195

9296
// Delay one seconds.
9397
delay( 1000 );

extras/examples_desktop/Desktop/Blink/Blink.cpp

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,19 @@ int main(){
7676
// Commander at the beginning of your code to prevent stack-overflow.
7777
commander.init();
7878

79-
Serial.println();
80-
Serial.println( __CONST_TXT__( "---- Init Finished ----" ) );
81-
Serial.println();
79+
stdioChannel.println();
80+
stdioChannel.println( __CONST_TXT__( "---- Init Finished ----" ) );
81+
stdioChannel.println();
8282

8383
// List all the available commands.
84-
Serial.println( __CONST_TXT__( "Executing 'help -d' command:" ) );
85-
commander.execute( "help -d", &Serial );
86-
Serial.println();
84+
stdioChannel.println( __CONST_TXT__( "Executing 'help -d' command:" ) );
85+
commander.execute( "help -d", &stdioChannel );
86+
stdioChannel.println();
8787

8888
// Set pin 13 to output. Usually the LED is on this pin.
89-
Serial.println( __CONST_TXT__( "Executing 'pinMode -p 13 -o' command:" ) );
90-
commander.execute( "pinMode -p 13 -o", &Serial );
91-
Serial.println();
89+
stdioChannel.println( __CONST_TXT__( "Executing 'pinMode -p 13 -o' command:" ) );
90+
commander.execute( "pinMode -p 13 -o", &stdioChannel );
91+
stdioChannel.println();
9292

9393

9494

@@ -97,23 +97,27 @@ int main(){
9797

9898

9999
// Set pin 13 to logic high. It will turn on the built in LED on most boards.
100-
Serial.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -h' command:" ) );
101-
commander.execute( "digitalWrite -p 13 -h", &Serial );
100+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -h' command:" ) );
101+
commander.execute( "digitalWrite -p 13 -h", &stdioChannel );
102+
stdioChannel.println();
102103

103104
// Read the state of pin 13.
104-
Serial.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
105-
commander.execute( "digitalRead -p 13", &Serial );
105+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
106+
commander.execute( "digitalRead -p 13", &stdioChannel );
107+
stdioChannel.println();
106108

107109
// Delay one seconds.
108110
delay( 1000 );
109111

110112
// Set pin 13 to logic low. It will turn off the built in LED on most boards.
111-
Serial.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -l' command:" ) );
112-
commander.execute( "digitalWrite -p 13 -h", &Serial );
113+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -l' command:" ) );
114+
commander.execute( "digitalWrite -p 13 -h", &stdioChannel );
115+
stdioChannel.println();
113116

114117
// Read the state of pin 13.
115-
Serial.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
116-
commander.execute( "digitalRead -p 13", &Serial );
118+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
119+
commander.execute( "digitalRead -p 13", &stdioChannel );
120+
stdioChannel.println();
117121

118122
// Delay one seconds.
119123
delay( 1000 );

extras/examples_emscripten/Emscripten/Blink/Blink.cpp

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -90,19 +90,19 @@ void setup(){
9090
// Commander at the beginning of your code to prevent stack-overflow.
9191
commander.init();
9292

93-
Serial.println();
94-
Serial.println( __CONST_TXT__( "---- Init Finished ----" ) );
95-
Serial.println();
93+
stdioChannel.println();
94+
stdioChannel.println( __CONST_TXT__( "---- Init Finished ----" ) );
95+
stdioChannel.println();
9696

9797
// List all the available commands.
98-
Serial.println( __CONST_TXT__( "Executing 'help -d' command:" ) );
99-
commander.execute( "help -d", &Serial );
100-
Serial.println();
98+
stdioChannel.println( __CONST_TXT__( "Executing 'help -d' command:" ) );
99+
commander.execute( "help -d", &stdioChannel );
100+
stdioChannel.println();
101101

102102
// Set pin 13 to output. Usually the LED is on this pin.
103-
Serial.println( __CONST_TXT__( "Executing 'pinMode -p 13 -o' command:" ) );
104-
commander.execute( "pinMode -p 13 -o", &Serial );
105-
Serial.println();
103+
stdioChannel.println( __CONST_TXT__( "Executing 'pinMode -p 13 -o' command:" ) );
104+
commander.execute( "pinMode -p 13 -o", &stdioChannel );
105+
stdioChannel.println();
106106

107107

108108

@@ -113,23 +113,27 @@ void loop(){
113113
// Infinite loop.
114114

115115
// Set pin 13 to logic high. It will turn on the built in LED on most boards.
116-
Serial.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -h' command:" ) );
117-
commander.execute( "digitalWrite -p 13 -h", &Serial );
116+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -h' command:" ) );
117+
commander.execute( "digitalWrite -p 13 -h", &stdioChannel );
118+
stdioChannel.println();
118119

119120
// Read the state of pin 13.
120-
Serial.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
121-
commander.execute( "digitalRead -p 13", &Serial );
121+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
122+
commander.execute( "digitalRead -p 13", &stdioChannel );
123+
stdioChannel.println();
122124

123125
// Delay one seconds.
124126
delay( 1000 );
125127

126128
// Set pin 13 to logic low. It will turn off the built in LED on most boards.
127-
Serial.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -l' command:" ) );
128-
commander.execute( "digitalWrite -p 13 -h", &Serial );
129+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalWrite -p 13 -l' command:" ) );
130+
commander.execute( "digitalWrite -p 13 -h", &stdioChannel );
131+
stdioChannel.println();
129132

130133
// Read the state of pin 13.
131-
Serial.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
132-
commander.execute( "digitalRead -p 13", &Serial );
134+
stdioChannel.println( __CONST_TXT__( "Executing 'digitalRead -p 13' command:" ) );
135+
commander.execute( "digitalRead -p 13", &stdioChannel );
136+
stdioChannel.println();
133137

134138
// Delay one seconds.
135139
delay( 1000 );

0 commit comments

Comments
 (0)