OpenAgricultureFoundation / openag_brain

ROS package for controlling an OpenAg food computer
GNU General Public License v3.0
221 stars 68 forks source link

Atlas Sensors Build Failing / V1 Launch configuration #234

Open novemberalpha opened 7 years ago

novemberalpha commented 7 years ago

Greetings guys,

I have confirmed that using my launch configuration files that the arduino flash fails with a missing Wire.h library. This could be because it fails for everybody or it may be because I'm using different launch files.

We need to test a deploy on a V2 unit to confirm there isn't just a problem with the Atlas EC sensor library.

My workaround is to delete all of the sensor firmware that aren't in the V1 BoM including the Atlas firmware. A "nuke it from orbit" approach definitely but it fixes the issue.

Here's the error and the build log:

pi@openag:~/catkin_ws $ rosrun openag_brain firmware -t upload /home/pi/catkin_ws/src/openag_brain/launch/personal_food_computer_v1.yaml -p ros
[Mon May 15 15:05:17 2017] Processing megaatmega2560 (platform: atmelavr, board: megaatmega2560, framework: arduino)
----------------------------------------------------------------------------------------------------------------------
PackageManager: Installing framework-arduinoavr @ ~1.10618.1
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
PackageManager: Installing tool-avrdude @ ~1.60300.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%
CorePackageManager: Installing tool-scons @ ~3.20501.2
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%
tool-scons @ 3.20501.2 has been successfully installed!
Verbose mode can be enabled via `-v, --verbose` option
Converting src.ino
Collected 49 compatible libraries
Looking for dependencies...
Library Dependency Graph
|-- <openag_binary_actuator>
|   |-- <rosserial_arduino>
|   |-- <openag_atlas_ec>
|   |   |-- <rosserial_arduino>
|-- <openag_gc0012>
|   |-- <rosserial_arduino>
|   |-- <openag_atlas_ec>
|   |   |-- <rosserial_arduino>
|-- <openag_dht22>
|   |-- <openag_module>
|   |-- <openag_atlas_ec>
|   |   |-- <rosserial_arduino>
|   |-- <rosserial_arduino>
|-- <rosserial_arduino>
|-- <openag_air_flush>
|   |-- <rosserial_arduino>
|   |-- <openag_atlas_ec>
|   |   |-- <rosserial_arduino>
Compiling .pioenvs/megaatmega2560/src/src.ino.o
Archiving .pioenvs/megaatmega2560/libFrameworkArduinoVariant.a
Compiling .pioenvs/megaatmega2560/FrameworkArduino/CDC.o
Indexing .pioenvs/megaatmega2560/libFrameworkArduinoVariant.a
Compiling .pioenvs/megaatmega2560/FrameworkArduino/HardwareSerial.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/HardwareSerial0.o
In file included from lib/rosserial_arduino_libs/ros.h:38:0,
from /home/pi/catkin_ws/src/openag_brain/firmware/src/src.ino:7:
lib/rosserial_arduino_libs/ros/node_handle.h: In instantiation of 'int ros::NodeHandle_<Hardware, MAX_SUBSCRIBERS, MAX_PUBLISHERS, INPUT_SIZE, OUTPUT_SIZE>::publish(int, const ros::Msg*) [with Hardware = ArduinoHardware; int MAX_SUBSCRIBERS = 25; int MAX_PUBLISHERS = 25; int INPUT_SIZE = 512; int OUTPUT_SIZE = 512]':
lib/rosserial_arduino_libs/ros/node_handle.h:297:39:   required from 'void ros::NodeHandle_<Hardware, MAX_SUBSCRIBERS, MAX_PUBLISHERS, INPUT_SIZE, OUTPUT_SIZE>::requestSyncTime() [with Hardware = ArduinoHardware; int MAX_SUBSCRIBERS = 25; int MAX_PUBLISHERS = 25; int INPUT_SIZE = 512; int OUTPUT_SIZE = 512]'
lib/rosserial_arduino_libs/ros/node_handle.h:227:35:   required from 'int ros::NodeHandle_<Hardware, MAX_SUBSCRIBERS, MAX_PUBLISHERS, INPUT_SIZE, OUTPUT_SIZE>::spinOnce() [with Hardware = ArduinoHardware; int MAX_SUBSCRIBERS = 25; int MAX_PUBLISHERS = 25; int INPUT_SIZE = 512; int OUTPUT_SIZE = 512]'
/home/pi/catkin_ws/src/openag_brain/firmware/src/src.ino:87:15:   required from here
lib/rosserial_arduino_libs/ros/node_handle.h:441:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i =5; i<l+7; i++)
^
Compiling .pioenvs/megaatmega2560/FrameworkArduino/HardwareSerial1.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/HardwareSerial2.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/HardwareSerial3.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/IPAddress.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/PluggableUSB.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/Print.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/Stream.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/Tone.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/USBCore.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/WInterrupts.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/WMath.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/WString.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/_wiring_pulse.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/abi.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/hooks.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/main.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/new.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/wiring.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/wiring_analog.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/wiring_digital.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/wiring_pulse.o
Compiling .pioenvs/megaatmega2560/FrameworkArduino/wiring_shift.o
Compiling .pioenvs/megaatmega2560/lib/rosserial_arduino_libs/duration.o
Compiling .pioenvs/megaatmega2560/lib/rosserial_arduino_libs/time.o
Archiving .pioenvs/megaatmega2560/libFrameworkArduino.a
Indexing .pioenvs/megaatmega2560/libFrameworkArduino.a
Compiling .pioenvs/megaatmega2560/lib/openag_atlas_ec/openag_atlas_ec.o
Archiving .pioenvs/megaatmega2560/lib/librosserial_arduino_libs.a
Compiling .pioenvs/megaatmega2560/lib/openag_binary_actuator/openag_binary_actuator.o
Indexing .pioenvs/megaatmega2560/lib/librosserial_arduino_libs.a
In file included from lib/openag_atlas_ec/openag_atlas_ec.cpp:5:0:
lib/openag_atlas_ec/openag_atlas_ec.h:10:18: fatal error: Wire.h: No such file or directory
#include <Wire.h>
^
compilation terminated.
*** [.pioenvs/megaatmega2560/lib/openag_atlas_ec/openag_atlas_ec.o] Error 1
Compiling .pioenvs/megaatmega2560/lib/openag_gc0012/openag_gc0012.o
lib/openag_binary_actuator/openag_binary_actuator.cpp: In member function 'virtual void BinaryActuator::update()':
lib/openag_binary_actuator/openag_binary_actuator.cpp:25:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ((curr_time - _last_cmd) > _shutoff_ms) {
^
============================================ [ERROR] Took 147.17 seconds ============================================
pi@openag:~/catkin_ws $ 

Cheers,

J

novemberalpha commented 7 years ago

It shouldn't be building atlas sensors, right? I don't specify them here.