Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 09 2019 03:29

    tridge on master

    protocol: replace unsupported %… (compare)

  • Sep 09 2019 03:29
    tridge closed #17
  • Sep 08 2019 05:36
    bugobliterator opened #17
  • Aug 14 2019 03:51

    tridge on master

    Add override keyword to those m… (compare)

  • Aug 14 2019 03:51
    tridge closed #16
  • Aug 14 2019 01:37
    peterbarker opened #16
  • Aug 14 2019 01:33

    peterbarker on override-keywords

    Add override keyword to those m… (compare)

  • Jun 06 2019 00:11

    tridge on pr-header-conflict-ch

    (compare)

  • Jun 06 2019 00:11

    tridge on master

    marshal: fixed header conflict … (compare)

  • Apr 19 2019 12:42

    OXINARF on fix-python-37

    (compare)

  • Apr 19 2019 12:41

    OXINARF on pr-STM32H7-support

    (compare)

  • Apr 19 2019 12:38
    OXINARF closed #15
  • Apr 19 2019 12:38

    OXINARF on master

    stm32: support ChibiOS kernel m… dsdl_compiler: add missing sheb… dsdl_compiler: remove trailing … and 1 more (compare)

  • Apr 18 2019 18:30
    OXINARF opened #15
  • Apr 18 2019 18:30
    OXINARF review_requested #15
  • Apr 18 2019 18:22

    OXINARF on fix-python-37

    dsdl_compiler: add missing sheb… dsdl_compiler: remove trailing … dsdl_compiler: check for StopIt… (compare)

  • Feb 02 2019 02:03

    tridge on pr-STM32H7-support

    stm32: support ChibiOS kernel m… (compare)

  • Aug 12 2018 14:12

    OXINARF on ardupilot-2018-06-09

    (compare)

  • Aug 12 2018 13:55

    OXINARF on pr-chibios-update

    (compare)

  • Aug 12 2018 13:55

    OXINARF on allow-can2-without-can1

    (compare)

moluav
@moluav
@tridge Will you consider adding uavcan imu in the future?
Andrew Tridgell
@tridge
yes, I'd be happy to add UAVCAN IMU
moluav
@moluav
Great,Looking forward to your masterpiece.
Malcolm Churn
@ukmook
@tridge I was playing last night with a sparky2 and a stm32Bluepill/can breakout.., I got the two to talk using olli UC4H but can’t seem to get it working on arduCan. After looking at the schematics for mro canNode I see that the only difference in cpu is memory, but not getting any errors using stmCubeProgrammer. Going to try with a pix racer tonight.. any hints that might help?
Malcolm Churn
@ukmook
Got it working, there was a grounding issue was with one of the break out can boards (SN65HVD230) also some of the blue pills have only 64kb so that didnt help either...
JamesMegariotis
@JamesMegariotis
Hey everyone, hoping someone here might have some insight. I have been working with an stm32f103 blue pill board for development with ap_periph. I have it working pretty well and the new can node firmware is very impressive, but I find that my can node is constantly slipping into maintenance mode randomly, which stops all can comms on the bus. does anyone know by what mechanism maintenance mode is initilized. The only solution seems to be to reset or power cycle the can node and then it goes back into an operational state. It seems random when it goes into maintenance mode.
it basically makes it unusable for flight testing which is a bit annoying...id love to know a little more about maintenance mode(ie what its used for and why I randomly slip into this mode every few minutes). I am trying to implement some custom sensor drivers in the ap_periph firmware and this is a bit of a roadblock for me.
also @ukmook the blue pill works fine. It has 128K ram. Not advertised by stm32, but it is there. U just need to modify the st-flash utility a bit to allow you to load 128k firmwares onto the blue pill. I can provide instructions if youd like.
Malcolm Churn
@ukmook
S’ok I transplanted they stm32f103ct8 for the cb
@JamesMegariotis mine don’t reset to maintenance though
JamesMegariotis
@JamesMegariotis
yea I can't figure it out. I couldnt figure out why it constantly stopped communicating, but using uavcan gui, i saw that it keeps going into maintenance mode. Maybe it is an effect of my hacky method for loading 128k firmwares lol. Tested on 2 different blue pill boards with same result. Although i did turn on the debug serial port and associated debug options in the hw_def file. Maybe that is the cause.
Malcolm Churn
@ukmook
I had all sorts of issues with the original c8 even though I could get the fw on it, so bought 3 and changed them out and now all good..
JamesMegariotis
@JamesMegariotis
hmm...yea i had to do a bit of hacking with the hw def file and the st-flash util and im still having some issues...also cant get i2c to work at all. Maybe ill switch to an F103RB dev kit that I have. See if that solves some of the problems.
Malcolm Churn
@ukmook
Definitely change to correct processor, I had so many issues and now pixraxer is solid with gps and mag
Malcolm Churn
@ukmook
Are all cpu supported, i have a few f722 and to save not using them i thought it might be fun to create a node using them?
Malcolm Churn
@ukmook
I think there might be an issue with F405 cpu and UAVCAN, i have been testing and trying to make it work. I can see all the correct messages in UAVCAN_gui all working well. Then when i go back to mission planner i get this message PreArm: UC: Failed to add Node 127! So i thought i would test the setup and try a pixracer which works with no issues and no changes to the node.
Also Sparky 2 has a can port which i connect to PB13 CAN2_TX CAN2 / PB12 CAN2_RX CAN2 i can't get that to show the correct parameters in MP.
Malcolm Churn
@ukmook
So i think there may be 2 issues one being that the F405 on can port 1 works in UAVCAN_gui but not when normally connected (No gps or mag) but does work with Pixracer, and the second being that port 2 does not work with the F405 at all.
I don't like reporting bugs with ardupilot that don't work as i have been bitten before (myfault), but i do think there is an issue.
JamesMegariotis
@JamesMegariotis
Has anyone had issues with compasses being detected automatically. I can't tell if its an i2c issue or a code issue. Any thoughts on how to diagnose?
Malcolm Churn
@ukmook
@JamesMegariotis I’m using an lis3mdl on a node with pixracer and that works fine...
moluav
@moluav
Hello , where can I find the UAVCAN adapter firmware for STM32F103C8T6?
Malcolm Churn
@ukmook
@moluav you have to check if it has 64k or 128k . If it only has 64kb then it wont work.
moluav
@moluav
@ukmook thanks了,
sethjones348
@sethjones348
What is my best approach if I want to integrate a pixhawk running ardupilot into a CANBUS vehicle system in which all of the ECUs only know the SAE j1939 protocol? Should I just write custom translation code from UAVCAN to j1939 and add it to the ardupilot software that I have running?
Buzz
@davidbuzz
google says that SAEj1939 - this is typically used in automotive, so is your vehicle a car or truck or tractor? irrespective of that, without more information about what you are trying to achieve, we can only guess wildly. perhaps you have an aircraft where the ECU of the engine is using SAEj1939... or perhaps you have an aircraft with a propulsive electric DC motor controller that is using that protocol ( like maybe https://www.axiomatic.com/TDAX100050.pdf ), or maybe you are flying a multirotor with a bunch of these sorts of thing..... however it is, the answer will be different depending on what you are doing, and how much u absolutely have to integrate it.
Nik Langrind
@langrind
In working on prototype projects in the past, I have put arbitrary CAN devices on the same bus. I am doing an ArduPilot-based project now, and am uncertain how to support a CAN bus with heterogeneous nodes that don't support UAVCAN. It seems to me that there should be a mode of the ArduPilot CAN code that allows different message handlers to register for receive traffic distinguished by source-id or some other field. Does anyone see value in having a configurable mode in AP's CAN code that provides such a mux/demux layer for CAN?
auturgy
@auturgy
@tridge ^^
sethjones348
@sethjones348
@davidbuzz I work on an R&D team for my company. We have a generic track-driven robot platform (think like the size of a riding lawnmower) that uses hydraulic traction motors. The traction motors are driven by a CAN controller operating with J1939 and specific CAN messages for throttle and steering. That's about as much as I can disclose of the specific application
Andrew Tridgell
@tridge
@langrind maybe, how would we configure this? and with multi-frame traffic can we be sure we won't get packets mis-interpreted?
Buzz
@davidbuzz
@sethjones348 - regarding your SAEj1939 hardware, it seems to me that if you have an existing bus, with a 'master' controller of some sort on it that is able to address all the other devices using 1939, ie a complete end-to-end system, like as found in a typical car, then given it/s essentially CAN at the hardware layer, it would be quite possible to add ardupilot hardware to this existing bus (Pixhawk2 or Cube etc has dual CAN hardware, so that's also a bonus), and in theory 'capture' first then write a software extension to be able to read (listen to existing bus devices communicating) and/or maybe write enough of a subset of command/s to send instructions/s to these devices..... however i'd suggest that unless your manufacturer documents the specific bits and bytes of every packet in your bus(rare but happens), it'll be reverse-engineering and a lot of guess-work. However, if you don't have a 'master' and the ardupilot hardware is going to be the 'master', then it will be nearly impossible without documentation from the endpoint/s manufacturer (and still include guess work).
... but that's just my opinion.... its entirely possible that your vehicle only has 1 type of hardware, and it only has 1 or 2 command packets (eg turn left X degrees, or turn right X, or turn at X speed for X ms ), and you could maybe best-case use the same basic command with all three motors (left track motor, right track motor , throttle position 'motor') and just different IDs on the network... who knows.
Nik Langrind
@langrind
One way to configure it would be to introduce a new value of CAN_Dx_PROTOCOL to indicate generic CAN. The generic CAN Mux would then have arbitrary clients which would have their config (or be hardcoded) and would register with the CAN Mux at run-time, specifying source-ids of interest. The generic can mux's loop would dispatch frames to clients according those source IDs, and call periodically into the clients' transmit routines. In this model, UAVCAN co-existence is not possible.
Nik Langrind
@langrind
Another way to do it would be to have UAVCAN "host" the generic CAN Mux in its loop, which is not what I was thinking of, but now seems like a cool idea. Is this where "multi-frame" packets might be misinterpreted? I'm not familiar with multiframe, all the CAN protocols I've worked with have had single-frame messages. Before trying the UAVCAN-generic-CAN coexistence idea, I would have to dispel my UAVCAN ignorance, I only just started learning about it.
reubenfinch
@reubenfinch
Is there any desire to have a simple CAN output whereby the user chooses a CAN ID to start at and then each of the Servo/ESC signals are output as two bytes. Thus for each 8 byte CAN frame there could be a maximum of 4 Servos/ESCs per message. So with a maximum of 16 servos there would be a maximum of 4 CAN frames. This would allow far easier integration than complicated UAVCAN/ToshibaCAN/KDECAN.
jungx148
@jungx148
@adalta87 I'm also struggling to control gremsy s1 using nvidia tx2..
Launchpad-McQ
@Launchpad-McQ
Hi! Ive been doing some testing with uavcan to output to vesc. It is working fine, except that the motor spins as soon as I connect the vesc to the pixhawk and pixhawk not even armed(throttle on zero, but should make no difference). I Ive search through most of the documentation, but cant find what parameter to adjust.
anyone who can tell me which parameter to adjust?
Buzz
@davidbuzz
anyone used CANBUS or UAVCAN under SITL? i saw a pr for it from the GSoC 2018 , but it doesn't seem to ahve been merged. ArduPilot/ardupilot#8509 thoughts ?
Buzz
@davidbuzz
I seem to be having issues enabling the parameter CAN_P1_DEBUG ( https://ardupilot.org/copter/docs/parameters.html#can-p1-debug-level-of-debug-for-can-devices ) ... as it doesn't seem to exist in any binary I tried. such as copter4.0.4 or copter 'latest' as of 5 minutes ago.... is there something I need to do to unhide this param, or compile my own version..?
mavproxy "param show *CAN*" doesn't show even though the other CAN params are showing
Buzz
@davidbuzz
... never matter... I discovered its hidden behind a #define in AP_BoardConfig_CAN.h that defaults to 0, so I've built my own binary .
Launchpad-McQ
@Launchpad-McQ
Is there any parameter to adjust like pwm_min, pwm_max, and pwm_trim, but for esc connected over UAVCAN?
Samuel Tabor
@samuelctabor
I'm experiencing some issues with SLCAN on CubeOrange. When on the full carrier board, I can successfully discover an mRo F303 node when connected to the CAN 2 port, but not when connected to CAN 1. On the mini carrier board, I can't discover it connected to CAN 2. However, I have successfully set it up with a MS4525D0 airspeed sensor and that works in all cases
Same result with UAVCAN Gui Tool
I'm using the latest ArduPlane beta
Buzz
@davidbuzz
question about CAN_P1_DRIVER Vs CAN_P2_DRIVER that the documentation doesn't make clear... in the case where the two physical ports are both on UAVCAN, but on different CAN bus's, should it be CAN_P2_DRIVER=1 or CAN_P2_DRIVER=2 ? https://ardupilot.org/copter/docs/common-canbus-setup-advanced.html#common-canbus-setup-advanced
it seems most people set both of them to '1' and most also want both can ports 'on the same bus', but i'm not 'most'.
Launchpad-McQ
@Launchpad-McQ
I am running arduplane 4.0.5 and trying to use UAVCAN with a vesc 6 plus. when I set the output for channel it just spins up to maximum and isnt responding to the throttle. (It worked on an earlier ardupilot version, but that version didnt seem to have uavcan telemetry support)
Launchpad-McQ
@Launchpad-McQ
I think on the earlier version there was only the
CAN_D1_UC_SRV_BM
parameter and not the
CAN_D1_UC_ESC_BM
parameter.