@@ -162,6 +162,7 @@ gpio_isr_stop(struct gpio_source* gpio_info)
162
162
int
163
163
main (int argc , char * * argv )
164
164
{
165
+ int retval = 0 ;
165
166
if (argc == 1 ) {
166
167
print_command_error ();
167
168
}
@@ -177,10 +178,13 @@ main(int argc, char** argv)
177
178
if (argc == 4 ) {
178
179
int pin = atoi (argv [2 ]);
179
180
mraa_boolean_t rawmode = strcmp (argv [1 ], "setraw" ) == 0 ;
180
- if (gpio_set (pin , atoi (argv [3 ]), rawmode ) != MRAA_SUCCESS )
181
+ if (gpio_set (pin , atoi (argv [3 ]), rawmode ) != MRAA_SUCCESS ) {
181
182
fprintf (stdout , "Could not initialize gpio %d\n" , pin );
183
+ retval = 1 ;
184
+ }
182
185
} else {
183
186
print_command_error ();
187
+ retval = 2 ;
184
188
}
185
189
} else if ((strcmp (argv [1 ], "get" ) == 0 ) || (strcmp (argv [1 ], "getraw" ) == 0 )) {
186
190
if (argc == 3 ) {
@@ -191,9 +195,11 @@ main(int argc, char** argv)
191
195
fprintf (stdout , "Pin %d = %d\n" , pin , level );
192
196
} else {
193
197
fprintf (stdout , "Could not initialize gpio %d\n" , pin );
198
+ retval = 1 ;
194
199
}
195
200
} else {
196
201
print_command_error ();
202
+ retval = 2 ;
197
203
}
198
204
} else if (strcmp (argv [1 ], "monitor" ) == 0 ) {
199
205
if (argc == 3 ) {
@@ -211,13 +217,16 @@ main(int argc, char** argv)
211
217
gpio_isr_stop (& gpio_info );
212
218
} else {
213
219
fprintf (stdout , "Failed to register ISR for pin %d\n" , pin );
220
+ retval = 3 ;
214
221
}
215
222
} else {
216
223
print_command_error ();
224
+ retval = 2 ;
217
225
}
218
226
} else {
219
227
print_command_error ();
228
+ retval = 2 ;
220
229
}
221
230
}
222
- return 0 ;
231
+ return retval ;
223
232
}
0 commit comments