From 8125328f17668bc0d8febc14420648f8b5797733 Mon Sep 17 00:00:00 2001 From: "lindquia@lafayette.edu" Date: Fri, 14 Nov 2025 15:56:21 -0500 Subject: [PATCH 1/3] Stripped PIR and Fingerprint code sections --- .../include/FingerprintFunctions.h | 16 -- MicrocontrollerCode/include/PIRFunctions.h | 30 ---- .../include/microRosFunctions.h | 8 +- .../src/FingerprintFunctions.cpp | 137 ------------------ MicrocontrollerCode/src/JoystickFunctions.cpp | 2 +- MicrocontrollerCode/src/PIRFunctions.cpp | 30 ---- MicrocontrollerCode/src/main.cpp | 83 ++--------- MicrocontrollerCode/src/microRosFunctions.cpp | 23 --- 8 files changed, 13 insertions(+), 316 deletions(-) delete mode 100644 MicrocontrollerCode/include/FingerprintFunctions.h delete mode 100644 MicrocontrollerCode/include/PIRFunctions.h delete mode 100644 MicrocontrollerCode/src/FingerprintFunctions.cpp delete mode 100644 MicrocontrollerCode/src/PIRFunctions.cpp diff --git a/MicrocontrollerCode/include/FingerprintFunctions.h b/MicrocontrollerCode/include/FingerprintFunctions.h deleted file mode 100644 index 8b9a67f..0000000 --- a/MicrocontrollerCode/include/FingerprintFunctions.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Functions created by Nam -// - -#ifndef FINGERPRINTFUNCTIONS_H -#define FINGERPRINTFUNCTIONS_H - -#include - -uint8_t getFingerprintID(); - -bool setupFingerprint(); - -void loopFingerprint(); - -#endif //FINGERPRINTFUNCTIONS_H diff --git a/MicrocontrollerCode/include/PIRFunctions.h b/MicrocontrollerCode/include/PIRFunctions.h deleted file mode 100644 index f958d94..0000000 --- a/MicrocontrollerCode/include/PIRFunctions.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// Functions created by Nam -// Modified by Robbie -// - -#ifndef PIRFUNCTIONS_H -#define PIRFUNCTIONS_H - - -#define PIR_0 10 -#define PIR_1 11 -#define PIR_2 12 -#define PIR_3 13 - -struct PIRSensors { - bool pir0; - bool pir1; - bool pir2; - bool pir3; -}; - -//TODO add comments for all the functions - -void setupPIR(); - -bool readPIRSingle(uint8_t pirPin); - -PIRSensors readAllPIR(); - -#endif //PIRFUNCTIONS_H diff --git a/MicrocontrollerCode/include/microRosFunctions.h b/MicrocontrollerCode/include/microRosFunctions.h index b166eaf..c1d5799 100644 --- a/MicrocontrollerCode/include/microRosFunctions.h +++ b/MicrocontrollerCode/include/microRosFunctions.h @@ -20,7 +20,7 @@ * @param sensorTopicName The name of the topic * @param fingerprintTopicName */ -boolean microRosSetup(unsigned int timerValue, const char *nodeName, const char *sensorTopicName, const char *fingerprintTopicName); +boolean microRosSetup(unsigned int timerValue, const char *nodeName, const char *sensorTopicName); bool create_entities(); @@ -28,11 +28,9 @@ void destroy_entities(); void microRosTick(); -void transmitMsg(RefDisplacement thetaRef, RefSpeed omegaRef, USData ultrasonicData, PIRSensors pirSensors, FanSpeeds fanSpeeds, IMUData imuData); +void transmitMsg(RefDisplacement thetaRef, RefSpeed omegaRef, USData ultrasonicData, FanSpeeds fanSpeeds, IMUData imuData); -void publishFingerprint(uint8_t fingerprintID); - -void publishError(bool joystick_adc_error, bool ultrasonic_adc_error, bool fingerprint_error, bool imu_error); +void publishError(bool joystick_adc_error, bool ultrasonic_adc_error, bool imu_error); static void fan_subscription_callback(const void *msgin); diff --git a/MicrocontrollerCode/src/FingerprintFunctions.cpp b/MicrocontrollerCode/src/FingerprintFunctions.cpp deleted file mode 100644 index 65ec796..0000000 --- a/MicrocontrollerCode/src/FingerprintFunctions.cpp +++ /dev/null @@ -1,137 +0,0 @@ -// -// Functions created by Nam -// Modified by Robbie -// - -#include "FingerprintFunctions.h" -#include -#include - -#if (defined(__AVR__) || defined(ESP8266)) && !defined(__AVR_ATmega2560__) -// pin #2 is IN from sensor (GREEN wire) -// pin #3 is OUT from arduino (WHITE wire) -// Set up the serial port to use softwareserial.. -SoftwareSerial fingerprintSerial(0, 1); - -#else -// On Leonardo/M0/etc, others with hardware serial, use hardware serial! -// #0 is green wire, #1 is white -#define fingerprintSerial Serial1 - -#endif - -Adafruit_Fingerprint finger = Adafruit_Fingerprint(&fingerprintSerial); - -uint8_t getFingerprintID() { - uint8_t p = finger.getImage(); - switch (p) { - case FINGERPRINT_OK: - Serial.println("Image taken"); - break; - case FINGERPRINT_NOFINGER: - Serial.println("No finger detected"); - return p; - case FINGERPRINT_PACKETRECIEVEERR: - Serial.println("Communication error"); - return p; - case FINGERPRINT_IMAGEFAIL: - Serial.println("Imaging error"); - return p; - default: - Serial.println("Unknown error"); - return p; - } - // OK success! - p = finger.image2Tz(); - switch (p) { - case FINGERPRINT_OK: - Serial.println("Image converted"); - break; - case FINGERPRINT_IMAGEMESS: - Serial.println("Image too messy"); - return p; - case FINGERPRINT_PACKETRECIEVEERR: - Serial.println("Communication error"); - return p; - case FINGERPRINT_FEATUREFAIL: - Serial.println("Could not find fingerprint features"); - return p; - case FINGERPRINT_INVALIDIMAGE: - Serial.println("Could not find fingerprint features"); - return p; - default: - Serial.println("Unknown error"); - return p; - } - // OK converted! - p = finger.fingerSearch(); - if (p == FINGERPRINT_OK) { - Serial.println("Found a print match!"); - } else if (p == FINGERPRINT_PACKETRECIEVEERR) { - Serial.println("Communication error"); - return p; - } else if (p == FINGERPRINT_NOTFOUND) { - Serial.println("Did not find a match"); - return p; - } else { - Serial.println("Unknown error"); - return p; - } - - // found a match! - Serial.print("Found ID #"); Serial.print(finger.fingerID); - Serial.print(" with confidence of "); Serial.println(finger.confidence); - - return finger.fingerID; -} - -bool setupFingerprint() -{ - while (!Serial); // For Yun/Leo/Micro/Zero/... - delay(100); - Serial.println("\n\nAdafruit finger detect test"); - - // set the data rate for the sensor serial port - finger.begin(57600); - delay(5); - if (finger.verifyPassword()) { - Serial.println("Found fingerprint sensor!"); - } else { - int init_count = 0; - Serial.println("Did not find fingerprint sensor :("); - while (!finger.verifyPassword()) { - Serial.println(init_count); - if (init_count > 10) { - return true; - } - init_count++; - } - } - - Serial.println(F("Reading sensor parameters")); - finger.getParameters(); - Serial.print(F("Status: 0x")); Serial.println(finger.status_reg, HEX); - Serial.print(F("Sys ID: 0x")); Serial.println(finger.system_id, HEX); - Serial.print(F("Capacity: ")); Serial.println(finger.capacity); - Serial.print(F("Security level: ")); Serial.println(finger.security_level); - Serial.print(F("Device address: ")); Serial.println(finger.device_addr, HEX); - Serial.print(F("Packet len: ")); Serial.println(finger.packet_len); - Serial.print(F("Baud rate: ")); Serial.println(finger.baud_rate); - - finger.getTemplateCount(); - - if (finger.templateCount == 0) { - Serial.print("Sensor doesn't contain any fingerprint data. Please run the 'enroll' example."); - } - else { - Serial.println("Waiting for valid finger..."); - Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates"); - } - return false; -} - -void loopFingerprint() // run over and over again -{ - getFingerprintID(); - delay(50); //don't ned to run this at full speed. -} diff --git a/MicrocontrollerCode/src/JoystickFunctions.cpp b/MicrocontrollerCode/src/JoystickFunctions.cpp index ef0371d..3e3dec2 100644 --- a/MicrocontrollerCode/src/JoystickFunctions.cpp +++ b/MicrocontrollerCode/src/JoystickFunctions.cpp @@ -12,7 +12,7 @@ int deadzoneParam = 30; RefDisplacement joystickToDisplacement(Adafruit_ADS1115 &adc){ int forwardJoystick = adc.readADC_SingleEnded(0); //a0 is forward/backward int sidewaysJoystick = adc.readADC_SingleEnded(1); //a1 is left/right - + Serial.println RefDisplacement displacements; /* * Joystick middle values: ~8500 diff --git a/MicrocontrollerCode/src/PIRFunctions.cpp b/MicrocontrollerCode/src/PIRFunctions.cpp deleted file mode 100644 index 9da297c..0000000 --- a/MicrocontrollerCode/src/PIRFunctions.cpp +++ /dev/null @@ -1,30 +0,0 @@ -// -// Functions created by Nam -// Modified by Robbie -// - -#include -#include "PIRFunctions.h" - -//TODO figure out if we need to add an extra PIR sensor attached to the joystick DAC - -void setupPIR() { - pinMode(PIR_0, INPUT); // initialize sensor as an input - pinMode(PIR_1, INPUT); // initialize sensor as an input - pinMode(PIR_2, INPUT); // initialize sensor as an input - pinMode(PIR_3, INPUT); // initialize sensor as an input - Serial.println("PIR detected"); -} - -bool readPIRSingle(uint8_t pirPin) { - return digitalRead(pirPin); -} - -PIRSensors readAllPIR() { - PIRSensors pir_sensors{}; - pir_sensors.pir0 = digitalRead(PIR_0); - pir_sensors.pir1 = digitalRead(PIR_1); - pir_sensors.pir2 = digitalRead(PIR_2); - pir_sensors.pir3 = digitalRead(PIR_3); - return pir_sensors; -} \ No newline at end of file diff --git a/MicrocontrollerCode/src/main.cpp b/MicrocontrollerCode/src/main.cpp index 38888f1..bc0af07 100644 --- a/MicrocontrollerCode/src/main.cpp +++ b/MicrocontrollerCode/src/main.cpp @@ -5,8 +5,6 @@ #include "ADCFunctions.h" #include "JoystickFunctions.h" #include "UltrasonicFunctions.h" -#include "FingerprintFunctions.h" -#include "PIRFunctions.h" #include "IMUFunctions.h" #include "FanFunctions.h" #include "LightFunctions.h" @@ -24,7 +22,6 @@ Adafruit_ICM20948 icm; bool joystick_adc_error = false; bool ultrasonic_adc_error = false; -bool fingerprint_error = false; bool imu_error = false; int error_timer = 5000; @@ -52,12 +49,6 @@ void setup() { set_microros_serial_transports(Serial); delay(2000); -// const char* nodeName = "sensors_node"; -// const char* sensorTopicName = "sensors"; -// const char* fingerprintTopicName = "fingerprint"; - - //microRosSetup(1, nodeName, sensorTopicName, fingerprintTopicName); - #elif ROS_DEBUG const char* nodeName = "sensors_node"; @@ -73,36 +64,29 @@ void setup() { ultrasonic_adc_error = adcInit(ultrasonicAdc, 0x49); //default address joystick_adc_error = adcInit(joystickAdc, 0x48); //default address imu_error = imuInit(icm, ICM20948_ACCEL_RANGE_2_G, ICM20948_GYRO_RANGE_250_DPS, AK09916_MAG_DATARATE_10_HZ); - fingerprint_error = setupFingerprint(); - Serial.print("Fingerprint error: "); setAllFans(startDutyCycles); setupRPMCounter(); setupLight(); -#ifdef ROS - if (!joystick_adc_error || !ultrasonic_adc_error || !fingerprint_error || !imu_error) { - publishError(joystick_adc_error, ultrasonic_adc_error, fingerprint_error, imu_error); - error_timer = 500; - } -#endif + #ifdef ROS + if (!joystick_adc_error || !ultrasonic_adc_error || !imu_error) { + publishError(joystick_adc_error, ultrasonic_adc_error, 0, imu_error); + error_timer = 500; + } + #endif -Serial.println("Joystick Error: " + String(joystick_adc_error)); + Serial.println("Joystick Error: " + String(joystick_adc_error)); Serial.println("Ultrasonic Error: " + String(ultrasonic_adc_error)); - Serial.println("Fingerprint Error: " + String(fingerprint_error)); Serial.println("IMU Error: " + String(imu_error)); } -unsigned long lastFingerprintTime = 0; unsigned long lastErrorTime = 0; -//unsigned long lastMicroRosTime = 0; - void loop() { unsigned long currentMillis = millis(); //TODO might want to figure out how to put these on core1 so that they can run in parallel - //uint32_t start = millis(); RefSpeed omegaRef{}; RefDisplacement thetaRef{}; if (!joystick_adc_error) { @@ -112,38 +96,18 @@ void loop() { - - //uint32_t joystickTime = millis() - start; USData usDistances{}; if (!ultrasonic_adc_error && !joystick_adc_error) { usDistances = allUltrasonicDistance(joystickAdc, ultrasonicAdc); } - - //uint32_t ultrasonicTime = millis() - start - joystickTime; - PIRSensors pirSensors = readAllPIR(); - //uint32_t pirTime = millis() - start - joystickTime - ultrasonicTime; - //uint8_t fingerID = getFingerprintID(); //TODO might want to put this on a timer so that it runs less frequently - //uint32_t fingerprintTime = millis() - start - joystickTime - ultrasonicTime - pirTime; IMUData imuData{}; if (!imu_error) { imuData = getIMUData(icm); } - //uint32_t imuTime = millis() - start - joystickTime - ultrasonicTime - pirTime - fingerprintTime; FanSpeeds fanSpeeds = getAllFanSpeeds(); //TODO might want to put on a timer as well - //uint32_t fanTime = millis() - start - joystickTime - ultrasonicTime - pirTime - fingerprintTime - imuTime; - - uint8_t fingerID = 2; - if (currentMillis - lastFingerprintTime >= 5000) { - lastFingerprintTime = currentMillis; - if (!fingerprint_error) { - fingerID = getFingerprintID(); - } - - //Serial.println("Fingerprint ID: " + String(fingerID)); - } watchdog_update(); //updating the watchdog @@ -151,16 +115,13 @@ void loop() { microRosTick(); - transmitMsg(thetaRef,omegaRef, usDistances, pirSensors, fanSpeeds, imuData); + transmitMsg(thetaRef, omegaRef, usDistances, fanSpeeds, imuData); if (currentMillis - lastErrorTime >= error_timer) { lastErrorTime = currentMillis; - publishError(joystick_adc_error, ultrasonic_adc_error, fingerprint_error, imu_error); + publishError(joystick_adc_error, ultrasonic_adc_error, imu_error); } - if(fingerID != 2){ - publishFingerprint(fingerID); - } #elif ROS_DEBUG @@ -169,19 +130,6 @@ void loop() { #elif DEBUG -// Serial.print("Joystick Time: "); -// Serial.println(joystickTime); -// Serial.print("Ultrasonic Time: "); -// Serial.println(ultrasonicTime); -// Serial.print("PIR Time: "); -// Serial.println(pirTime); -// Serial.print("Fingerprint Time: "); -// Serial.println(fingerprintTime); -// Serial.print("IMU Time: "); -// Serial.println(imuTime); -// Serial.print("Fan Time: "); -// Serial.println(fanTime); - Serial.print("Fan0 Speed: "); Serial.println(fanSpeeds.fan_speed_0); Serial.print("Fan1 Speed: "); @@ -194,19 +142,6 @@ void loop() { Serial.println(omegaRef.rightSpeed); Serial.print("Left Speed: "); Serial.println(omegaRef.leftSpeed); - //Serial.print("Ultrasonic Distance: "); - //Serial.println(usDistance); -// Serial.print("PIR 0 struct: "); -// Serial.println(pirSensors.pir0); -// Serial.print("PIR 1: "); -// Serial.println(pirSensors.pir1); -// Serial.print("PIR 2: "); -// Serial.println(pirSensors.pir2); -// Serial.print("PIR 3: "); -// Serial.println(pirSensors.pir3); -// Serial.print("Fingerprint ID: "); -// Serial.println(fingerID); - Serial.print("Accel X: "); Serial.print(imuData.accel_x); diff --git a/MicrocontrollerCode/src/microRosFunctions.cpp b/MicrocontrollerCode/src/microRosFunctions.cpp index 5127ea7..daa87d0 100644 --- a/MicrocontrollerCode/src/microRosFunctions.cpp +++ b/MicrocontrollerCode/src/microRosFunctions.cpp @@ -17,7 +17,6 @@ #include #include -#include #include #include #include @@ -30,7 +29,6 @@ rcl_publisher_t sensorPublisher; -rcl_publisher_t fingerprintPublisher; rcl_publisher_t errorPublisher; rcl_subscription_t fanSubscriber; @@ -104,12 +102,6 @@ bool create_entities(){ &node, ROSIDL_GET_MSG_TYPE_SUPPORT(wheelchair_sensor_msgs, msg, Sensors), "sensors")); - // Create fingerprint publisher - RCCHECK(rclc_publisher_init_default( - &fingerprintPublisher, - &node, - ROSIDL_GET_MSG_TYPE_SUPPORT(wheelchair_sensor_msgs, msg, Fingerprint), - "fingerprint")); //Create error publisher RCCHECK(rclc_publisher_init_default( @@ -192,7 +184,6 @@ void destroy_entities(){ RCCHECK(rcl_subscription_fini(&lidarSubscriber, &node)); RCCHECK(rcl_subscription_fini(&lightSubscriber, &node)); RCCHECK(rcl_publisher_fini(&sensorPublisher, &node)); - RCCHECK(rcl_publisher_fini(&fingerprintPublisher, &node)); RCCHECK(rcl_timer_fini(&timer)); RCCHECK(rclc_executor_fini(&executor)); RCCHECK(rcl_node_fini(&node)); @@ -229,8 +220,6 @@ void microRosTick(){ //TODO add the fan subscriber #ifdef ROS -boolean microRosSetup(unsigned int timer_timeout, const char *nodeName, const char *sensorTopicName, - const char *fingerprintTopicName) { #elif ROS_DEBUG boolean microRosSetup(unsigned int timer_timeout, const char* nodeName, const char* topicName){ #endif @@ -261,12 +250,6 @@ boolean microRosSetup(unsigned int timer_timeout, const char *nodeName, const ch &node, ROSIDL_GET_MSG_TYPE_SUPPORT(wheelchair_sensor_msgs, msg, Sensors), sensorTopicName)); - // Create fingerprint publisher - RCCHECK(rclc_publisher_init_default( - &fingerprintPublisher, - &node, - ROSIDL_GET_MSG_TYPE_SUPPORT(wheelchair_sensor_msgs, msg, Fingerprint), - fingerprintTopicName)); // create timer, //unsigned int timer_timeout = 1; @@ -332,12 +315,6 @@ RCCHECK(rclc_publisher_init_best_effort( } -void publishFingerprint(uint8_t fingerprintID) { - wheelchair_sensor_msgs__msg__Fingerprint fingerprintMsg; - fingerprintMsg.user_id = fingerprintID; - RCSOFTCHECK(rcl_publish(&fingerprintPublisher, &fingerprintMsg, NULL)); - } - void publishError(const bool joystick_adc_error, const bool ultrasonic_adc_error, const bool fingerprint_error, const bool imu_error) { wheelchair_sensor_msgs__msg__SensorError sensorErrorMsg; sensorErrorMsg.joystick_adc_error = joystick_adc_error; From 5e5850c87184f8ccd659c28923d7e5c2f3a3fee2 Mon Sep 17 00:00:00 2001 From: "lindquia@lafayette.edu" Date: Fri, 14 Nov 2025 16:06:44 -0500 Subject: [PATCH 2/3] Fixed FP & PIR parameter issues --- MicrocontrollerCode/include/microRosFunctions.h | 2 +- MicrocontrollerCode/src/JoystickFunctions.cpp | 2 +- MicrocontrollerCode/src/main.cpp | 2 +- MicrocontrollerCode/src/microRosFunctions.cpp | 9 ++------- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/MicrocontrollerCode/include/microRosFunctions.h b/MicrocontrollerCode/include/microRosFunctions.h index c1d5799..9aec387 100644 --- a/MicrocontrollerCode/include/microRosFunctions.h +++ b/MicrocontrollerCode/include/microRosFunctions.h @@ -51,7 +51,7 @@ boolean microRosSetup(unsigned int timerValue, const char *nodeName, const char * Transmits the message over ROS * @param omegaRef The referenceSpeed struct to transmit */ -void transmitMsg(RefSpeed omegaRef); +void transmitMsg(RefDisplacement thetaRef, RefSpeed omegaRef); #endif void checkConnection(); diff --git a/MicrocontrollerCode/src/JoystickFunctions.cpp b/MicrocontrollerCode/src/JoystickFunctions.cpp index 3e3dec2..8264728 100644 --- a/MicrocontrollerCode/src/JoystickFunctions.cpp +++ b/MicrocontrollerCode/src/JoystickFunctions.cpp @@ -12,7 +12,7 @@ int deadzoneParam = 30; RefDisplacement joystickToDisplacement(Adafruit_ADS1115 &adc){ int forwardJoystick = adc.readADC_SingleEnded(0); //a0 is forward/backward int sidewaysJoystick = adc.readADC_SingleEnded(1); //a1 is left/right - Serial.println + Serial.println("Joystick longitudinal displacement: " + String(forwardJoystick) + " latitudinal displacement: " + String(sidewaysJoystick)); RefDisplacement displacements; /* * Joystick middle values: ~8500 diff --git a/MicrocontrollerCode/src/main.cpp b/MicrocontrollerCode/src/main.cpp index bc0af07..0ff66b5 100644 --- a/MicrocontrollerCode/src/main.cpp +++ b/MicrocontrollerCode/src/main.cpp @@ -70,7 +70,7 @@ void setup() { #ifdef ROS if (!joystick_adc_error || !ultrasonic_adc_error || !imu_error) { - publishError(joystick_adc_error, ultrasonic_adc_error, 0, imu_error); + publishError(joystick_adc_error, ultrasonic_adc_error, imu_error); error_timer = 500; } #endif diff --git a/MicrocontrollerCode/src/microRosFunctions.cpp b/MicrocontrollerCode/src/microRosFunctions.cpp index daa87d0..b0711e4 100644 --- a/MicrocontrollerCode/src/microRosFunctions.cpp +++ b/MicrocontrollerCode/src/microRosFunctions.cpp @@ -315,11 +315,10 @@ RCCHECK(rclc_publisher_init_best_effort( } -void publishError(const bool joystick_adc_error, const bool ultrasonic_adc_error, const bool fingerprint_error, const bool imu_error) { +void publishError(const bool joystick_adc_error, const bool ultrasonic_adc_error, const bool imu_error) { wheelchair_sensor_msgs__msg__SensorError sensorErrorMsg; sensorErrorMsg.joystick_adc_error = joystick_adc_error; sensorErrorMsg.ultrasonic_adc_error = ultrasonic_adc_error; - sensorErrorMsg.fingerprint_error = fingerprint_error; sensorErrorMsg.imu_error = imu_error; RCSOFTCHECK(rcl_publish(&errorPublisher, &sensorErrorMsg, NULL)); } @@ -350,7 +349,7 @@ static void lidar_subscription_callback(const void *msgin){ } #ifdef ROS -void transmitMsg(RefDisplacement thetaRef, RefSpeed omegaRef, USData ultrasonicData, PIRSensors pirSensors, FanSpeeds fanSpeeds, IMUData imuData) { +void transmitMsg(RefDisplacement thetaRef, RefSpeed omegaRef, USData ultrasonicData, FanSpeeds fanSpeeds, IMUData imuData) { sensorMsg.long_disp = thetaRef.longDisp; sensorMsg.lat_disp = thetaRef.latDisp; sensorMsg.left_speed = omegaRef.leftSpeed; @@ -360,10 +359,6 @@ void transmitMsg(RefDisplacement thetaRef, RefSpeed omegaRef, USData ultrasonicD sensorMsg.ultrasonic_back = ultrasonicData.us_back; sensorMsg.ultrasonic_left = ultrasonicData.us_left; sensorMsg.ultrasonic_right = ultrasonicData.us_right; - sensorMsg.pir_front = pirSensors.pir0; - sensorMsg.pir_back = pirSensors.pir1; - sensorMsg.pir_left = pirSensors.pir2; - sensorMsg.pir_right = pirSensors.pir3; sensorMsg.fan_speed_0 = fanSpeeds.fan_speed_0; sensorMsg.fan_speed_1 = fanSpeeds.fan_speed_1; sensorMsg.fan_speed_2 = fanSpeeds.fan_speed_2; From 8c83224b9ed361c75e3f6fc2b830dde8f78bcaa2 Mon Sep 17 00:00:00 2001 From: "lindquia@lafayette.edu" Date: Fri, 14 Nov 2025 16:29:49 -0500 Subject: [PATCH 3/3] Fixed FP & PIR parameter issues --- MicrocontrollerCode/include/microRosFunctions.h | 1 - 1 file changed, 1 deletion(-) diff --git a/MicrocontrollerCode/include/microRosFunctions.h b/MicrocontrollerCode/include/microRosFunctions.h index 9aec387..b178f8b 100644 --- a/MicrocontrollerCode/include/microRosFunctions.h +++ b/MicrocontrollerCode/include/microRosFunctions.h @@ -8,7 +8,6 @@ #include #include "JoystickFunctions.h" #include "UltrasonicFunctions.h" -#include "PIRFunctions.h" #include "FanFunctions.h" #include "IMUFunctions.h"