Help Please - Numerous ShiftX2 Faults

Q&A For ShiftX2, RGB sequential shift light <a href="https://wiki.autosportlabs.com/ShiftX2">Installation and Operation Guide</a>
VPD
Posts: 36
Joined: Sat Aug 11, 2018 1:40 pm
Location: NC

Post by VPD »

Some good news and a few things are pretty clear as required in my opinion. After extensive testing here is what I know. All comments below include removing all power sources including USB.

1) the simulated channel test script above worked fine first try and continued to work after each power cycling
2) power cycling has been suggested but is absolutely required for a new flash to be recognized at next power up. If you don't, you can get a number of mixed results.
3) the power cycling requirement is not limited to lua or shiftX2 but also to recognize loading a new config .rcp file. While the CAN bus mapping window might show the CAN channels in the app immediately after loading a .rcp file, the dashboard and other functions can't see them until power cycled.
4) one power cycle is often not enough, it might take 2 or 3 and in between you might see behavior that's a combination of scripts and/or mixing script with the default "scanning" lights. Hard to believe maybe, but given the methodical testing I did, it's true.
5) the sleep(500) is required, without it the simulated channel test script and real scripts don't work right

I even went a step further and borrowed a friends RC Track Mk2 and updated firmware to 2.15.0, then repeated all my testing. The exact same behavior occured, and given #3 above it's clear to me its inherent in RC Track Mk2 and not ShiftX2.

After all this I can make real scripts work as intended right from power up!

I would suggest the sleep(500) become standard in published sample code and API documentation. I would also suggest publishing pretty prominently that multiple power cycles may be required for any config change to register.

Thanks for the support, I consider this solved. Hopefully my suggestions will happen so others can save the hours of head scratching.

brentp
Site Admin
Posts: 6274
Joined: Wed Jan 24, 2007 6:36 am

Post by brentp »

Hi,

Thank you for the update, glad the script is working now for you.

We will make a change in the firmware that includes the equivalent of this delay so it doesn't need to be added to the script. We'll make it available in the 2.15.1 release, which we can make available in a day or two.

When making a change to the channel configuration, you'll need to 'write' it back to RaceCapture, but you should not need to power cycle the unit.

You can test this by adding a new CAN channel mapping or OBDII mapping - just select any new channel name, write it to the system, and then navigate to the dashboard and you will see that new channel in the raw channels view (screen with all channels listed, green labels).

There is a limitation: if you make a change using one device (e.g. laptop) while another device is connected (e.g.Android on bluetooth) - the other device may not see the update made by the other system. In this case, you would need to restart the other app, or power cycle RC.

Hope this helps, and thanks for working through the issue with us.
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

VPD
Posts: 36
Joined: Sat Aug 11, 2018 1:40 pm
Location: NC

Post by VPD »

Thanks Brent, just to clarify point #3 I didn't have the scenario you described. I only had one device connected (android over wifi) when I opened a saved .rcp file. I then flashed the file to Race Capture, which was confirmed to load but the shift X2 lights didn't respond to CAN data. I then went to the raw channel dashboard screen you described to see what values were present and my CAN channels were not there. Power cycled RC and the app and the raw channel dashboard screen was back to normal.

I didn't explore this nearly as much, but it did happen at least once. That's why I concluded the best advice is tell people before wasting time on anything else, first power cycle a few times and see if that cures whatever ails them.

Thanks for the upcoming firmware revision.

brentp
Site Admin
Posts: 6274
Joined: Wed Jan 24, 2007 6:36 am

Post by brentp »

2.15.2 firmware has been released; after updating, you should be able to remove the sleep() in your script.
Brent Picasso
CEO and Founder, Autosport Labs
Facebook | Twitter

VPD
Posts: 36
Joined: Sat Aug 11, 2018 1:40 pm
Location: NC

Post by VPD »

I removed the sleep() and the script worked so far with 2.15.1. I've noticed both temp alert LEDs light up instantly on power up, but before I've powered up the CAN buses so no actual CAN data is present. In this state the channels in the app don't report a value (as I expected) but X2 does.

Is this expected behavior for the X2? Does it remember the last value until new CAN data is available, or does it interpret no CAN data as 0 and so the LED color is responding accordingly?

If the CAN bus is off I'd rather it show no lights and get new values once the CAN bus is turned on. How do I check for a nil value, etc. to make this happen?

Thanks.

Post Reply