Skip to content

Commit

Permalink
✨ (RobotKit): Add CoreHTS and link to BLE service
Browse files Browse the repository at this point in the history
  • Loading branch information
YannLocatelli committed Jan 22, 2024
1 parent a628006 commit 94ceac4
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 5 deletions.
1 change: 1 addition & 0 deletions app/os/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ target_link_libraries(LekaOS
IMUKit
MotionKit
EventLoopKit
CoreHTS
)

target_link_custom_leka_targets(LekaOS)
14 changes: 14 additions & 0 deletions app/os/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include "CoreFlashManagerIS25LP016D.h"
#include "CoreFont.hpp"
#include "CoreGraphics.hpp"
#include "CoreHTS.h"
#include "CoreI2C.h"
#include "CoreInterruptIn.h"
#include "CoreJPEG.hpp"
Expand Down Expand Up @@ -150,6 +151,17 @@ namespace factory_reset {

} // namespace factory_reset

namespace temperature_humidity {

namespace internal {

auto i2c = CoreI2C {PinName::SENSOR_IMU_TH_I2C_SDA, PinName::SENSOR_IMU_TH_I2C_SCL};
}

auto sensor = CoreHTS {internal::i2c};

} // namespace temperature_humidity

namespace leds {

namespace internal {
Expand Down Expand Up @@ -417,6 +429,8 @@ namespace robot {
internal::timeout_state_transition,
internal::timeout_autonomous_activities,
battery::cells,
temperature_humidity::sensor,
temperature_humidity::sensor,
internal::serialnumberkit,
firmware::kit,
motors::left::motor,
Expand Down
21 changes: 16 additions & 5 deletions libs/RobotKit/include/RobotController.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include "interface/drivers/FirmwareUpdate.h"
#include "interface/drivers/LCD.hpp"
#include "interface/drivers/Motor.h"
#include "interface/drivers/TemperatureSensor.h"
#include "interface/drivers/Timeout.h"
#include "interface/libs/LedKit.h"
#include "interface/libs/VideoKit.h"
Expand All @@ -49,15 +50,18 @@ class RobotController : public interface::RobotController

explicit RobotController(interface::Timeout &timeout_state_internal, interface::Timeout &timeout_state_transition,
interface::Timeout &timeout_autonomous_activities, interface::Battery &battery,
SerialNumberKit &serialnumberkit, interface::FirmwareUpdate &firmware_update,
interface::Motor &motor_left, interface::Motor &motor_right, interface::LED &ears,
interface::LED &belt, interface::LedKit &ledkit, interface::LCD &lcd,
interface::VideoKit &videokit, BehaviorKit &behaviorkit, CommandKit &cmdkit,
RFIDKit &rfidkit, ActivityKit &activitykit)
interface::TemperatureSensor &temperature_sensor,
interface::HumiditySensor &humidity_sensor, SerialNumberKit &serialnumberkit,
interface::FirmwareUpdate &firmware_update, interface::Motor &motor_left,
interface::Motor &motor_right, interface::LED &ears, interface::LED &belt,
interface::LedKit &ledkit, interface::LCD &lcd, interface::VideoKit &videokit,
BehaviorKit &behaviorkit, CommandKit &cmdkit, RFIDKit &rfidkit, ActivityKit &activitykit)
: _timeout_state_internal(timeout_state_internal),
_timeout_state_transition(timeout_state_transition),
_timeout_autonomous_activities(timeout_autonomous_activities),
_battery(battery),
_temperature_sensor(temperature_sensor),
_humidity_sensor(humidity_sensor),
_serialnumberkit(serialnumberkit),
_firmware_update(firmware_update),
_motor_left(motor_left),
Expand Down Expand Up @@ -492,6 +496,11 @@ class RobotController : public interface::RobotController

_battery_kit.startEventHandler();

_service_monitoring.onTemperatureHumidityRequested([this]() {
_service_monitoring.setTemperature(_temperature_sensor.getTemperatureCelsius());
_service_monitoring.setHumidity(_humidity_sensor.getRelativeHumidity());
});

_ble.onConnectionCallback([this] { raise(event::ble_connection {}); });

_ble.onDisconnectionCallback([this] { raise(event::ble_disconnection {}); });
Expand Down Expand Up @@ -571,6 +580,8 @@ class RobotController : public interface::RobotController
interface::Battery &_battery;
BatteryKit _battery_kit {_battery};
uint8_t _minimal_battery_level_to_update {25};
interface::TemperatureSensor &_temperature_sensor;
interface::HumiditySensor &_humidity_sensor;

SerialNumberKit &_serialnumberkit;

Expand Down

0 comments on commit 94ceac4

Please sign in to comment.