Browse Source

Adding example CLI command to DPH module.

simple
Jacob Alexander 10 years ago
parent
commit
c24f86b0ea
1 changed files with 45 additions and 0 deletions
  1. 45
    0
      Scan/DPH/scan_loop.c

+ 45
- 0
Scan/DPH/scan_loop.c View File

#include <Lib/ScanLib.h> #include <Lib/ScanLib.h>


// Project Includes // Project Includes
#include <cli.h>
#include <led.h> #include <led.h>
#include <print.h> #include <print.h>








// ----- Function Declarations -----

void cliFunc_echo ( char* args );



// ----- Variables ----- // ----- Variables -----


// Buffer used to inform the macro processing module which keys have been detected as pressed // Buffer used to inform the macro processing module which keys have been detected as pressed
volatile uint8_t KeyIndex_BufferUsed; volatile uint8_t KeyIndex_BufferUsed;




// Scan Module command dictionary
char* scanCLIDictName = "DPH Module Commands";
CLIDictItem scanCLIDict[] = {
{ "echo", "Example command, echos the arguments.", cliFunc_echo },
{ 0, 0, 0 } // Null entry for dictionary end
};


// TODO dfj variables...needs cleaning up and commenting // TODO dfj variables...needs cleaning up and commenting


// Variables used to calculate the starting sense value (averaging) // Variables used to calculate the starting sense value (averaging)
// Initial setup for cap sense controller // Initial setup for cap sense controller
inline void Scan_setup() inline void Scan_setup()
{ {
// Register Scan CLI dictionary
CLI_registerDictionary( scanCLIDict, scanCLIDictName );

// TODO dfj code...needs cleanup + commenting... // TODO dfj code...needs cleanup + commenting...
setup_ADC(); setup_ADC();


dump_count &= 0x0f; dump_count &= 0x0f;
} }



// ----- CLI Command Functions -----

// XXX Just an example command showing how to parse arguments (more complex than generally needed)
void cliFunc_echo( char* args )
{
char* curArgs;
char* arg1Ptr;
char* arg2Ptr = args;

// Parse args until a \0 is found
while ( 1 )
{
print( NL ); // No \r\n by default after the command is entered

curArgs = arg2Ptr; // Use the previous 2nd arg pointer to separate the next arg from the list
CLI_argumentIsolation( curArgs, &arg1Ptr, &arg2Ptr );

// Stop processing args if no more are found
if ( *arg1Ptr == '\0' )
break;

// Print out the arg
dPrint( arg1Ptr );
}
}