FORDBOARD VI firmware problems

220 views
Skip to first unread message

Belina Campos

unread,
Mar 28, 2016, 8:06:58 PM3/28/16
to OpenXC
Hi!
I new with the openxc, and with python actually, I followed the instructions of the Vehicule Interface Firmware and got to the step where you creat the firmware so you can comunicate with the car, I'm using a Ford Focus, but when i tried to do a smoke test by asking for the version on the comand terminal it shows this:

File "/Users/Belina/openxc-python/openxc/sources/base.py", line 63, in streamer

    raise MissingPayloadFormatError("Unable to auto-detect payload "

openxc.sources.base.MissingPayloadFormatError: Unable to auto-detect payload format, must specify manually with --format [json|protobuf]


What do MissingPayloadFormatError("Unable to auto-detect payload " means ??? Do I need something else to load?


I dont see that the VI is returning the version number or anything.

I read in other threads of this group that it may be missing some python libraries


I'm using the Fordboard VI. I think is the version 7.1.1 in the firmware, I'm also using the 2.7.8 version of Python and the 0.12 of the Openxc. I'm not connected to a vehicule when I tested the version nor the dump.

Also I'm using a MacBook-Pro.

I hope you can help me, thanks in advance :D!!!


Belina Campos


Captura de pantalla 2016-03-28 a las 5.55.42 p.m..png

Eric Marsman

unread,
Apr 7, 2016, 4:20:27 PM4/7/16
to OpenXC
Hi Belina,

You shouldn't have to specify a format. It should default to JSON and you only need to specify it if you want something different (protobuf). The versions you listed all seem fine. 

I think the first message in the .png you attached that it couldn't find a device ("USB device couldn't be read") is the real issue. What are the LEDs doing on the VI when you're trying to read?

Since you're not connected to a vehicle, you are flashing the VI with the "emulator" firmware correct? This will allow the device to be powered over USB.

Regards,
Eric

Dominic Meroux

unread,
Apr 10, 2016, 3:41:30 AM4/10/16
to OpenXC

Hi Eric and Belina, 


I encountered a similar situation. I have used OpenXC successfully with the appropriate firmware from Ford for a couple of vehicles as well as emulator firmware.


I figured I’d try out compiling my own firmware, so as Belina said she did, I followed instructions on the Vehicle Interface Firmware page. I set up vagrant and tried build using the example for reading raw unfiltered data


{   "buses": {

        "hs": {

            "controller": 1,

            "speed": 500000,

            "raw_can_mode": "unfiltered"

        }

    }

}


I ran the openxc python command to generate the cpp file: 

openxc-generate-firmware-code —message-set ~/FILENAME.json > signals.cpp


then build using vagrant. I successfully flashed the VI and tested the firmware in a MY 2015 Ford Focus which gave me had the attached error message, which is similar to Belina’s (in fact the last two lines in traceback, “line 37, in _send_complex_request” and “line 63, in streamer” are exactly the same. I am using a MacBook Air 2014 using OS X El Capitan. 


When my Reference VI was plugged in, the light was red (from past experience, I know that’s indicative of something wrong…typically it shows up blue then I believe green when I connect the USB if I remember correctly). It did blink green when I connected the USB to my laptop. I wanted to be sure I hadn't accidentally compiled the emulator firmware, so I unplugged the VI from the car and plugged it back into my laptop and encountered the same error message. 


I also wanted to see if vagrant was properly generating files on my computer, so I tested building the emulator in vagrant “fab reference emulator build” and re-flashed the VI with the generated bin file, and the emulator worked perfectly when I connected it to my laptop via USB. 


In sum, I think my problem is similar to Belina’s considering we both followed instructions on the Vehicle Interface Firmware page (albeit I used a different JSON custom configuration: mine was read-only raw CAN and from her description it sounded like hers could write commands to the car) and had similar output. I’ve attached my signals.cpp file that was generated from the JSON file and error messages (similar to Belina’s) for reference. 


Sorry for the long message, but hoping the detail is useful. Thanks! 


Dominique 

Firmware_Raw_Unfiltered_Try1.rtf
signals.cpp

Kyle Kelly

unread,
Jun 24, 2016, 1:21:37 PM6/24/16
to OpenXC
Was this ever resolved? I'm seeing something similar:

kyle-kellys-macbook:~ kal$ openxc-control id

Can't read logs from data source -- stopping: ("USB device couldn't be read", USBError(60, 'Operation timed out'))

Device ID is 0006666D54A6

Exception in thread Thread-1 (most likely raised during interpreter shutdown):

Traceback (most recent call last):

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 810, in __bootstrap_inner

  File "/Users/kal/OpenXC/openxc-0.13.0/openxc/openxc-python/openxc/sources/base.py", line 213, in run

  File "/Users/kal/OpenXC/openxc-0.13.0/openxc/openxc-python/openxc/formats/json.py", line 19, in parse_next_message

<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'deserialize'


And when trying to write:

kyle-kellys-macbook:~ kal$ openxc-control write --bus 1 --id 0x201 --data 0x5000000027100000

Traceback (most recent call last):

  File "/usr/local/bin/openxc-control", line 9, in <module>

    load_entry_point('openxc==0.13.0', 'console_scripts', 'openxc-control')()

  File "/Users/kal/OpenXC/openxc-0.13.0/openxc/openxc-python/openxc/tools/control.py", line 174, in main

    frame_format=arguments.write_frame_format)

  File "/Users/kal/OpenXC/openxc-0.13.0/openxc/openxc-python/openxc/controllers/base.py", line 387, in write

    frame_format=kwargs.get('frame_format', None))

  File "/Users/kal/OpenXC/openxc-0.13.0/openxc/openxc-python/openxc/controllers/base.py", line 419, in write_raw

    message = self.streamer.serialize_for_stream(data)

  File "/Users/kal/OpenXC/openxc-0.13.0/openxc/openxc-python/openxc/sources/base.py", line 63, in streamer

    raise MissingPayloadFormatError("Unable to auto-detect payload "

openxc.sources.base.MissingPayloadFormatError: Unable to auto-detect payload format, must specify manually with --format [json|protobuf]

Exception in thread Thread-2 (most likely raised during interpreter shutdown):Exception in thread Thread-1 (most likely raised during interpreter shutdown):


Thanks,

Kyle

Kyle Kelly

unread,
Jun 24, 2016, 2:19:30 PM6/24/16
to OpenXC
I was able to resolve the Missing Payload Error simply by adding --format json at the end of the command. Still don't know about the Attribute Error.

Kyle

Dominic Meroux

unread,
Jul 17, 2016, 5:54:26 AM7/17/16
to OpenXC
Not sure about the Attribute error and any other issues that might be specific to the command you entered, but I was able to view raw unfiltered data using the "Unfiltered Raw CAN with Limited, Variable Data Rate" configuration rather than "Unfiltered Raw CAN", with commands "openxc-dump --format json" and saving to a file with "openxc-dump --format json > Filename.json". Glad you pointed out --format json, that definitely helped. 
Reply all
Reply to author
Forward
0 new messages