+++ implemented command handler
This commit is contained in:
parent
e51f1c2038
commit
b18e19bee5
8 changed files with 132 additions and 12 deletions
|
@ -0,0 +1,45 @@
|
|||
#include "command_handler.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void Command_Handler::Update()
|
||||
{
|
||||
Keyboard* ourKeyboard = parent->GetModule<Keyboard>(IO_KEYBOARD_MAIN);
|
||||
|
||||
uint8 curInput = ourKeyboard->GetInput();
|
||||
|
||||
|
||||
while(curInput != 0xEE && curInput != 0xFF)
|
||||
{
|
||||
if(curInput == 10)
|
||||
{
|
||||
ExecuteCommand();
|
||||
}
|
||||
else if(curInput == 11)
|
||||
{
|
||||
if(this->currentCommandLength > 0)
|
||||
{
|
||||
this->currentCommandLength--;
|
||||
this->buffer[currentCommandLength] = NULL;
|
||||
}
|
||||
}
|
||||
else if(curInput >= 0 && curInput <= 9)
|
||||
{
|
||||
if(this->currentCommandLength < COMMAND_BUFFER_SIZE)
|
||||
{
|
||||
this->buffer[this->currentCommandLength] = '0' + curInput;
|
||||
this->currentCommandLength++;
|
||||
}
|
||||
}
|
||||
|
||||
curInput = ourKeyboard->GetInput();
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void Command_Handler::ExecuteCommand()
|
||||
{
|
||||
if(this->buffer[0] == '5')
|
||||
{
|
||||
this->displayDistanceSensors = true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
#ifndef _COMMAND_HANDLER_H
|
||||
#define _COMMAND_HANDLER_H
|
||||
|
||||
#include "../../stdafx.h"
|
||||
|
||||
class Command_Handler : public IO_Module
|
||||
{
|
||||
public:
|
||||
Command_Handler()
|
||||
{
|
||||
this->parent = NULL;
|
||||
this->moduleId = 0;
|
||||
this->currentCommandLength = 0;
|
||||
this->displayDistanceSensors = false;
|
||||
}
|
||||
|
||||
Command_Handler(uint32 commandHandlerId)
|
||||
{
|
||||
this->parent = NULL;
|
||||
this->moduleId = commandHandlerId;
|
||||
this->currentCommandLength = 0;
|
||||
this->displayDistanceSensors = false;
|
||||
|
||||
for(uint8 i = 0; i < COMMAND_BUFFER_SIZE; i++)
|
||||
{
|
||||
buffer[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
uint8 currentCommandLength;
|
||||
char* buffer[COMMAND_BUFFER_SIZE];
|
||||
|
||||
void ExecuteCommand();
|
||||
|
||||
public:
|
||||
void Update();
|
||||
|
||||
//Command variables
|
||||
bool displayDistanceSensors;
|
||||
};
|
||||
|
||||
#endif
|
Reference in a new issue