Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Together with [Radon Ulzer](https://github.com/BlueAndi/RadonUlzer) it can be ru
1. Build the firmware using the ```Build``` task in the "PlatformIO Project Tasks"
- For the target use only the applications with "Target" as postfix, e.g. LineFollowerTarget.
2. Upload the firmware to the ZumoComSystem using the ```Upload``` task in the "PlatformIO Project Tasks" tab, or the arrow on the bottom task bar.
3. After succesfully uploading the firmware, the configuration has to be uploaded to the filesystem. Make sure that the information in ```data/config/config.json``` matches your setup. Upload the configuration using the ```Upload Filesystem Image``` task in the "PlatformIO Project Tasks" tab.
3. After successfully uploading the firmware, the configuration has to be uploaded to the filesystem. Make sure that the information in ```data/config/config.json``` matches your setup. Upload the configuration using the ```Upload Filesystem Image``` task in the "PlatformIO Project Tasks" tab.

Note that the robotName can be left empty in case you want the MAC address of the hardware to be used as the name. In case you prefer to give the robot a more descriptive name, can set the name. Beware, if you use multiple robots, you will have to give each a different name manually.

Expand Down
4 changes: 2 additions & 2 deletions lib/APPTurtle/src/MicroRosClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ class MicroRosClient
* @param[in] subscriber Pointer to a new subscriber. It shall be instanced using new. The MicroRosClient will
* delete the pointer once it is no longer used. Checks if the instance is nullptr.
*
* @returns If succesfully created, returns true. Otherwise, false.
* @returns If successfully created, returns true. Otherwise, false.
*/
bool registerSubscriber(BaseSubscriber* subscriber);

Expand Down Expand Up @@ -202,7 +202,7 @@ class MicroRosClient
*
* @param[in] ipAddress The Micro-ROS agent IP-address.
* @param[in] port The Micro-ROS agent port.
*
*
* @return If successful it will return true otherwise false.
*/
bool setupCustomTransport(const IPAddress& ipAddress, uint16_t port);
Expand Down
4 changes: 2 additions & 2 deletions lib/APPTurtle/src/Subscriber.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class BaseSubscriber
* @param[in] node Pointer to the RCL node.
* @param[in] executor Pointer to the RCLC executor.
*
* @returns If succesfully initialized, returns true. Otherwise, false.
* @returns If successfully initialized, returns true. Otherwise, false.
*/
virtual bool init(rcl_node_t* node, rclc_executor_t* executor) = 0;

Expand Down Expand Up @@ -174,7 +174,7 @@ class Subscriber : public BaseSubscriber
* @param[in] node Pointer to the RCL node.
* @param[in] executor Pointer to the RCLC executor.
*
* @returns If succesfully initialized, returns true. Otherwise, false.
* @returns If successfully initialized, returns true. Otherwise, false.
*/
bool init(rcl_node_t* node, rclc_executor_t* executor) final
{
Expand Down
2 changes: 1 addition & 1 deletion lib/HALInterfaces/src/IMqttClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ class IMqttClient
* This method does not necessarily wait for the connection to be established, it just starts the connection
* process. Check `isConnected()` for the current connection status.
*
* @return If connection has been succesfully started, returns true. Otherwise, false.
* @return If connection has been successfully started, returns true. Otherwise, false.
*/
virtual bool connect() = 0;

Expand Down
2 changes: 1 addition & 1 deletion lib/HALInterfaces/src/IRobot.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class IRobot
virtual void process() = 0;

/**
* Get comunication stream.
* Get communication stream.
*
* @return Robot data stream.
*/
Expand Down
6 changes: 3 additions & 3 deletions lib/HALSim/src/Board.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
#include <IBoard.h>
#include <WString.h>
#include "Battery.h"
#include "Button.h"
#include "ButtonReset.h"
#include "LedBlue.h"
#include "LedGreen.h"
#include "LedRed.h"
Expand Down Expand Up @@ -210,8 +210,8 @@ class Board : public IBoard
/** Battery driver */
Battery m_battery;

/** Button driver */
Button m_button;
/** Button "Reset" driver */
ButtonReset m_button;

/** Blue LED driver */
LedBlue m_ledBlue;
Expand Down
80 changes: 80 additions & 0 deletions lib/HALSim/src/ButtonA.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/* MIT License
*
* Copyright (c) 2023 - 2025 Andreas Merkle <web@blue-andi.de>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

/*******************************************************************************
DESCRIPTION
*******************************************************************************/
/**
* @brief Button "A" realization
* @author Gabryel Reyes <gabryelrdiaz@gmail.com>
*/

/******************************************************************************
* Includes
*****************************************************************************/
#include "ButtonA.h"

/******************************************************************************
* Compiler Switches
*****************************************************************************/

/******************************************************************************
* Macros
*****************************************************************************/

/******************************************************************************
* Types and classes
*****************************************************************************/

/******************************************************************************
* Prototypes
*****************************************************************************/

/******************************************************************************
* Local Variables
*****************************************************************************/

/******************************************************************************
* Public Methods
*****************************************************************************/

bool ButtonA::isPressed()
{
return m_keyboard.buttonAPressed();
}

/******************************************************************************
* Protected Methods
*****************************************************************************/

/******************************************************************************
* Private Methods
*****************************************************************************/

/******************************************************************************
* External Functions
*****************************************************************************/

/******************************************************************************
* Local Functions
*****************************************************************************/
16 changes: 8 additions & 8 deletions lib/HALSim/src/Button.h → lib/HALSim/src/ButtonA.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@
DESCRIPTION
*******************************************************************************/
/**
* @brief Button realization
* @brief Button "A" realization
* @author Gabryel Reyes <gabryelrdiaz@gmail.com>
*
* @addtogroup HALSim
*
* @{
*/

#ifndef BUTTON_H
#define BUTTON_H
#ifndef BUTTON_A_H
#define BUTTON_A_H

/******************************************************************************
* Compile Switches
Expand All @@ -54,23 +54,23 @@
* Types and Classes
*****************************************************************************/

/** This class provides access to the simulation button. */
class Button : public IButton
/** This class provides access to the robot button "A". */
class ButtonA : public IButton
{
public:
/**
* Constructs the button adapter.
*
* @param[in] keyboard The keyboard to use for button simulation.
*/
Button(Keyboard& keyboard) : IButton(), m_keyboard(keyboard)
ButtonA(Keyboard& keyboard) : IButton(), m_keyboard(keyboard)
{
}

/**
* Destroys the button adapter.
*/
virtual ~Button()
virtual ~ButtonA()
{
}

Expand All @@ -89,5 +89,5 @@ class Button : public IButton
* Functions
*****************************************************************************/

#endif /* BUTTON_H */
#endif /* BUTTON_A_H */
/** @} */
80 changes: 80 additions & 0 deletions lib/HALSim/src/ButtonB.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/* MIT License
*
* Copyright (c) 2023 - 2025 Andreas Merkle <web@blue-andi.de>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

/*******************************************************************************
DESCRIPTION
*******************************************************************************/
/**
* @brief Button "B" realization
* @author Gabryel Reyes <gabryelrdiaz@gmail.com>
*/

/******************************************************************************
* Includes
*****************************************************************************/
#include "ButtonB.h"

/******************************************************************************
* Compiler Switches
*****************************************************************************/

/******************************************************************************
* Macros
*****************************************************************************/

/******************************************************************************
* Types and classes
*****************************************************************************/

/******************************************************************************
* Prototypes
*****************************************************************************/

/******************************************************************************
* Local Variables
*****************************************************************************/

/******************************************************************************
* Public Methods
*****************************************************************************/

bool ButtonB::isPressed()
{
return m_keyboard.buttonBPressed();
}

/******************************************************************************
* Protected Methods
*****************************************************************************/

/******************************************************************************
* Private Methods
*****************************************************************************/

/******************************************************************************
* External Functions
*****************************************************************************/

/******************************************************************************
* Local Functions
*****************************************************************************/
93 changes: 93 additions & 0 deletions lib/HALSim/src/ButtonB.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
/* MIT License
*
* Copyright (c) 2023 - 2025 Andreas Merkle <web@blue-andi.de>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

/*******************************************************************************
DESCRIPTION
*******************************************************************************/
/**
* @brief Button "B" realization
* @author Gabryel Reyes <gabryelrdiaz@gmail.com>
*
* @addtogroup HALSim
*
* @{
*/

#ifndef BUTTON_B_H
#define BUTTON_B_H

/******************************************************************************
* Compile Switches
*****************************************************************************/

/******************************************************************************
* Includes
*****************************************************************************/
#include "IButton.h"
#include "Keyboard.h"

/******************************************************************************
* Macros
*****************************************************************************/

/******************************************************************************
* Types and Classes
*****************************************************************************/

/** This class provides access to the robot button "B". */
class ButtonB : public IButton
{
public:
/**
* Constructs the button adapter.
*
* @param[in] keyboard The keyboard to use for button simulation.
*/
ButtonB(Keyboard& keyboard) : IButton(), m_keyboard(keyboard)
{
}

/**
* Destroys the button adapter.
*/
virtual ~ButtonB()
{
}

/**
* Is button pressed or released?
*
* @return If button is pressed, returns true otherwise false.
*/
bool isPressed() final;

private:
Keyboard& m_keyboard; /**< Robot keyboard */
};

/******************************************************************************
* Functions
*****************************************************************************/

#endif /* BUTTON_B_H */
/** @} */
Loading