ADD measure time call
This commit is contained in:
@@ -26,8 +26,9 @@
|
||||
|
||||
#include "gear_device.hpp"
|
||||
|
||||
#include "bike_system.hpp"
|
||||
|
||||
// from disco_h747i/wrappers
|
||||
#include <chrono>
|
||||
|
||||
#include "joystick.hpp"
|
||||
#include "mbed_atomic.h"
|
||||
@@ -39,11 +40,10 @@
|
||||
|
||||
namespace multi_tasking {
|
||||
|
||||
GearDevice::GearDevice(Mail<uint8_t, 16>* mailBox) {
|
||||
GearDevice::GearDevice(Mail<gearMail_t, 16>* mailBox, Timer& timer)
|
||||
: _mailBox(mailBox), _timer(timer) {
|
||||
disco::Joystick::getInstance().setUpCallback(callback(this, &GearDevice::onUp));
|
||||
disco::Joystick::getInstance().setDownCallback(callback(this, &GearDevice::onDown));
|
||||
|
||||
_mailBox = mailBox;
|
||||
}
|
||||
|
||||
void GearDevice::onUp() {
|
||||
@@ -61,10 +61,13 @@ void GearDevice::onDown() {
|
||||
}
|
||||
|
||||
void GearDevice::sendMail(uint32_t data) {
|
||||
uint8_t* currentGear = _mailBox->try_alloc();
|
||||
if (currentGear != nullptr) {
|
||||
*currentGear = data;
|
||||
_mailBox->put(currentGear);
|
||||
if (_mailBox != nullptr) {
|
||||
gearMail_t* currentGear = _mailBox->try_alloc();
|
||||
if (currentGear != nullptr) {
|
||||
currentGear->gear = data;
|
||||
currentGear->callTime = _timer.elapsed_time();
|
||||
_mailBox->put(currentGear);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user