ShiftX2 config in GUI instead of LUA?
ShiftX2 config in GUI instead of LUA?
I'm sure this is already in the works, but similar to the CAN data mapping, will the ShiftX2 config eventually be done in the GUI instead of LUA scripting? It'd be nice to get it out of LUA so its not taking up memory and would make for a more robust and dummy-proof setup.
I'm seeing the possible crashing behavior as well with maybe 25% of the time my ShiftX2 either starting/staying in demo mode, or after a bit of use going into demo mode and not coming out of it. I'm on 2.13.0.
If it is memory, there really must not be much memory available to the scripting after adding all the ShiftX2 code to the lua script as I really don't have much more than a couple other functions and setting some static variables. Would be nice to see memory availability get bumped even further as it's quite annoying to have to go trimming usability comments everywhere just to stop the RC Pro from even loading scripts (why are comments loaded into memory btw?).
If it is memory, there really must not be much memory available to the scripting after adding all the ShiftX2 code to the lua script as I really don't have much more than a couple other functions and setting some static variables. Would be nice to see memory availability get bumped even further as it's quite annoying to have to go trimming usability comments everywhere just to stop the RC Pro from even loading scripts (why are comments loaded into memory btw?).
I'm also running into memory issues again now that i've added some canbus sending stuff. I'm using LUA minifier as well. (https://mothereff.in/lua-minifier)
There's really no reason to have all this ShiftX2 clutter in our scripts being that its standard Autosport Labs hardware.
There's really no reason to have all this ShiftX2 clutter in our scripts being that its standard Autosport Labs hardware.
Hi, We just released 2.13.5 firmware which offers 20% more Lua memory than 2.12.0. If you haven't, give it a try to see if that makes a difference.
Also, you can post your current script here to see if we can optimize it.
You're right, it should be a first class feature in the system. I think ShiftX2 will be a long term product, so we're giving some thought into what it would look like to support it natively.
Also, you can post your current script here to see if we can optimize it.
You're right, it should be a first class feature in the system. I think ShiftX2 will be a long term product, so we're giving some thought into what it would look like to support it natively.
I was on 2.13 :/ I did just update to 2.13.5, though. I updated after i turned the car off and forgot to test again, but i will soon.brentp wrote:Hi, We just released 2.13.5 firmware which offers 20% more Lua memory than 2.12.0. If you haven't, give it a try to see if that makes a difference.
Also, you can post your current script here to see if we can optimize it.
You're right, it should be a first class feature in the system. I think ShiftX2 will be a long term product, so we're giving some thought into what it would look like to support it natively.
Thanks, i think it will really pay off. The ShiftX2 hardware is awesome. Quick idea, maybe just have the ability to write a little logic functions with operator, channel, led, output state/color as pull down menu items. Slightly tedious, but it'd give maximum or control. Maybe have some presets available for complete functionsets.
RULE1: IF <select channel> <select logical operator> THEN < select LED> <select color>
RULE2: IF <select channel> <select logical operator> THEN < select LED> <select color>
RULE3: IF <select channel> <select logical operator> THEN < select LED> <select color>
You would need a bunch of RULES available to cover all the LEDs for a few cases each. A case with 9 LEDs with say 3 states each could be covered in 27 rules... Hrmm it is tricky.
I posted my script over in the LUA section. Any advice would be much appreciated!
viewtopic.php?p=28587#28587
As your looking at building standard GUI for Shift2 can I suggest a more flexible Gauge and Led warning range setup. Rather than limiting to consecutive colour ranges allow over lapped ranges with priority using same setup input. You can have same setup screen for different purposed for all gauges and Leds customisation.
Example 1: Engine Temps(deg C) Gives caution until up to temp and high temp warnings
If in Blank Range 0 to 0 set as Blank then exit
If in Green Range 60 to 95 set as Green then exit
If in Yellow Range 0 to 110 set as Yellow then exit
If in Red Range 0 to 120 set as Red then exit
Otherwise Flashing Red
8888888888888888###
Example 2: Oil Pressure Gives low warnings and caution for high press
If in Blank Range 0 to 0 set as Blank then exit
If in Green Range 20 to 50 set as Green then exit
If in Yellow Range 15 to 150 set as Yellow then exit
If in Red Range 10 to 150 set as Red then exit
Otherwise Flashing Red
####8888888888888888888888
Example 3: RPM lights
If in Blank Range 0 to 4000 set as Blank then exit
If in Green Range 0 to 5000 set as Green then exit
If in Yellow Range 0 to 6000 set as Yellow then exit
If in Red Range 0 to 6800 set as Red then exit
Otherwise Flashing Red
OOOO888888888888####
Example 1: Engine Temps(deg C) Gives caution until up to temp and high temp warnings
If in Blank Range 0 to 0 set as Blank then exit
If in Green Range 60 to 95 set as Green then exit
If in Yellow Range 0 to 110 set as Yellow then exit
If in Red Range 0 to 120 set as Red then exit
Otherwise Flashing Red
8888888888888888###
Example 2: Oil Pressure Gives low warnings and caution for high press
If in Blank Range 0 to 0 set as Blank then exit
If in Green Range 20 to 50 set as Green then exit
If in Yellow Range 15 to 150 set as Yellow then exit
If in Red Range 10 to 150 set as Red then exit
Otherwise Flashing Red
####8888888888888888888888
Example 3: RPM lights
If in Blank Range 0 to 4000 set as Blank then exit
If in Green Range 0 to 5000 set as Green then exit
If in Yellow Range 0 to 6000 set as Yellow then exit
If in Red Range 0 to 6800 set as Red then exit
Otherwise Flashing Red
OOOO888888888888####