Ask Your Question

mh.phoenix's profile - activity

2017-09-08 12:55:05 -0600 received badge  Famous Question (source)
2017-09-08 12:55:05 -0600 received badge  Notable Question (source)
2015-08-26 15:28:24 -0600 received badge  Popular Question (source)
2015-08-25 04:04:48 -0600 received badge  Notable Question (source)
2015-08-24 14:23:58 -0600 asked a question How to change the topic_name string to PROGMEM in rosserial_arduino?


I'm trying to save SRAM on my Arduino pro mini by going through some libraries. I've noticed that to use my Arduino as a ROS node the library stores the topic name and message type as constants.

class Publisher
  Publisher( const char * topic_name, Msg * msg, int    endpoint=rosserial_msgs::TopicInfo::ID_PUBLISHER) :
    endpoint_(endpoint) {};

  int publish( const Msg * msg ) { return nh_->publish(id_, msg); };
  int getEndpointType(){ return endpoint_; }

  const char * topic_;
  Msg *msg_;
  // id_ and no_ are set by NodeHandle when we advertise 
  int id_;
  NodeHandleBase_* nh_;

  int endpoint_;

How can I store the constants to PROGMEM? As these are pointers, I am confused. Thank you.

2015-08-24 02:44:09 -0600 received badge  Popular Question (source)
2015-08-22 03:45:48 -0600 received badge  Popular Question (source)
2015-08-21 09:22:10 -0600 asked a question Multiple Sensor data from Arduino


I am a newbie to ROS. I am running around 8 sensors, including range finders, force sensors, reflectance sensors on my Arduino pro mini and I want to establish these readings as ROS topics. I found how to do this using rosserial_arduino but when I instantiate the node handle it exceeds the amount of dynamic memory available on the arduino. How can I just read the sensor values from arduino over serial and publish different topics for each sensor? A step by step guide would be appreciated. Thank you.

2015-08-21 09:22:00 -0600 asked a question The NodeHandle causes SRAM to exceed the limit


I am running around 8 sensors on my Arduino Pro mini. I wanted to turn my arduino to a ROS node but it seems that it causes the dynamic memory to exceed its capacity. What can I do? Any suggestions would be greatly appreciated.