No rc_raw topic

Hello,

I recently moved a Naze32 board to a new system, and I am no longer getting a rc_raw topic to show up when I do rostopic list. This is extra strange because I am still able to arm the vehicle and throttle up using the transmitter. I tried reflashing the rosflight firmware as well as rebuilding the rosflight_io package, but I still am not seeing the rc_raw topic show up at all.

Does anyone know how I might move further with debugging this?

Thanks!

Comments

  • I must have set the STRM_RC parameter to 0 at some point. Resetting the parameter to 50hz made the topic show back up.

  • Hi @mohrad. That is strange. I'm not sure off the top of my head what might be causing it, but I'll look into it. Just to be sure, can you verify that other topics are being published, like /imu/data or /status? Or that rosflight is receiving parameters? Just want to verify that you are getting some communication and it's only the /rc_raw topic that's having an issue.

  • Ah, sorry I hadn't refreshed the page before I responded so hadn't seen your last post. Glad you got it figured out.

  • Now I am having a new problem. The /rc_raw topic is reporting back values between approximately 0-1000 centered around 500 instead of 1000-2000 centered around 1500. Do you know what might be the cause of this?

  • So far,

    I have tried swapping receivers and ppm modules. The same receiver / ppm module combination reports back the correct values on a different Naze32 board (same model / rev). I have tried uploading the parameters used on the working system to the nonworking system, and it is still reporting values <1000 for all channels. I have also tried uploading stock firmware and using a fresh copy of the rosflight package.

  • Sorry for the slow response. I'm assuming you're on the master branch of the firmware? Since the last release we've entirely removed the 1000-2000 RC representation internally (that's all handled by the board layer), since it's kind of arbitrary and doesn't apply to SBUS or other protocols. We use floating point -1 to 1 or 0 to 1 (for throttle) in the firmware itself.

    It looks like we only kind of partially updated the rc_raw message to reflect that, and so right now it is outputting 0 to 1000. That's more of an oversight than a deliberate decision though. Do you need the values to be in the 1000-2000 range for your application? I'm guessing at some point we'll switch it over to a floating point 0 to 1 or -1 to 1 message, but if it'd be useful for now we could put it back to 1000-2000. Sorry for the confusion.

  • edited October 2018

    To be honest, I am not sure what branch I was on at the time, but I loaded the same firmware file onto the other board which worked. The reason why I was trying to sort this out was because the system was flipping over on takeoff, and the only thing I could find that seemed off were the rc values. I checked the attitude topic and everything was behaving as expected. I also did all the usual checks like making sure the motors were all spinning the right way. I was able to arm, and throttling up seemed to spin up all the motors proportionally. But once it had enough thrust to takeoff, the system would become chaotic and flip over. I thought it might be because the flight controller was interpreting the RC commands as a full roll, pitch, and yaw since they were all less than 1000 (this was also consistent with the takeoff behavior). I assumed throttle acted normally because I thought it was normalized in the code somewhere.

    Anyways, no need to change the rc_raw readings, but I am still wondering what was affecting that specific Naze module.

Sign In or Register to comment.