Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BleSerial Cli ConfigFile MbedJSONValue
source/Hardware.cpp
- Committer:
- twixx
- Date:
- 2018-01-03
- Revision:
- 0:1d8829c32cd5
File content as of revision 0:1d8829c32cd5:
#include "Hardware.h"
Hardware::Hardware()
{
}
InitResult Hardware::init()
{
//this->led1 = new DigitalOut(LED1, 1);
this->led = new PwmOut(LED1);
this->led->period_ms(20);
this->led->write(0.0f);
this->pc = new Serial(USBTX, USBRX);// tx, rx
this->initCli();
MbedJSONValue demo;
std::string s;
//fill the object
demo["my_array"][0] = "demo_string";
demo["my_array"][1] = 10;
demo["my_boolean"] = false;
//serialize it into a JSON string
s = demo.serialize();
this->pc->printf("json: %s\r\n", s.c_str());
return InitResultOk;
}
InitResult Hardware::initCli(){
//this->pc->printf("INIT CLI\n");
this->myCli = new Cli(this->pc, "#~> ", 50, 10);
this->myCli->setEcho(true);
this->myCli->appendCmd("print", "prints hello world to stream", static_cast<void*> (this), Hardware::cb_print);
this->myCli->welcome();
this->myCli->prompt();
BLE &ble = BLE::Instance();
this->bleSerial = new BleSerial(ble);
this->bleCli = new Cli(this->bleSerial, "#~> ", 50, 10);
this->bleCli->appendCmd("print", "prints hello world to stream", static_cast<void*> (this), Hardware::cb_print);
this->bleCli->setEcho(true);
this->bleCli->welcome();
this->bleCli->prompt();
return InitResultOk;
}
CbResult Hardware::cb_print(void* pObject, va_list args)
{
if (!pObject)
{
return CbResultError;
}
char* s = static_cast<char*>(va_arg(args, char*));
Stream *io = static_cast<Stream*>(va_arg(args, Stream*));
va_end(args);
Hardware* mySelf = static_cast<Hardware*> (pObject);
//mySelf->pc->printf("HALLO WELT %s\n", s);
io->printf("HALLO WELT %s\n", s);
return CbResultOk;
}