Skip to content

Instantly share code, notes, and snippets.

Brent Picasso brentpicasso

Block or report user

Report or block brentpicasso

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@brentpicasso
brentpicasso / shiftx2_pred_timer_simulator.lua
Last active Jun 17, 2017
ShiftX2 predictive timer simulator
View shiftx2_pred_timer_simulator.lua
--this script adequately simulates varying speeds and periodic pit stops
--disable all GPS channels
--disable lap timing
shiftx_can = 1
shiftx_id = 0xE3700
dist = 0
speed = 30
speedDir = 0
maxSpeedDir = 2
View shiftx2_afr_simulator.lua
slcan = 1
function splitWord(value)
return bit.band(value, 0xFF), bit.rshift(bit.band(value, 0xFF00),8)
end
function sl_cfgAlert(id, threshId, threshold, red, green, blue, flash)
local lowt
local hight
lowt, hight = splitWord(threshold)
txCAN(slcan, 744389 + 12, 1, {id, threshId, lowt, hight, red, green, blue, flash})
@brentpicasso
brentpicasso / shiftx2_full_demo.lua
Last active Jun 17, 2017
ShiftX2 full demo including discovery and auto-configuration
View shiftx2_full_demo.lua
shiftx_can = 1
shiftx_id = 0xE3700
function shiftx_tx(offset, data)
txCAN(shiftx_can, shiftx_id + offset, 1, data)
sleep(10)
end
function splitWord(value)
return bit.band(value, 0xFF), bit.rshift(bit.band(value, 0xFF00),8)
end
@brentpicasso
brentpicasso / shiftx2_predictive_timer_simulator.lua
Last active Feb 7, 2017
ShiftX2 predictive timer simulator
View shiftx2_predictive_timer_simulator.lua
function splitWord(value)
return bit.band(value, 0xFF), bit.rshift(bit.band(value, 0xFF00),8)
end
function setLinearThreshold(id, threshold, red, green, blue, flash)
local lowt
local hight
lowt, hight = splitWord(threshold)
txCAN(0, 744389 + 15, 1, {id, 0, lowt, hight, red, green, blue, flash})
@brentpicasso
brentpicasso / shiftx2_obdii_smooth_shift_light.lua
Last active Jun 17, 2017
Demo script reading RPM from RaceCapture input, and updating the current shift light value
View shiftx2_obdii_smooth_shift_light.lua
shiftx_can = 1
shiftx_id = 0xE3700
function shiftx_tx(offset, data)
txCAN(shiftx_can, shiftx_id + offset, 1, data)
sleep(10)
end
function splitWord(value)
return bit.band(value, 0xFF), bit.rshift(bit.band(value, 0xFF00),8)
end
@brentpicasso
brentpicasso / shiftx2_linear_graph_example.lua
Last active Feb 6, 2017
ShiftX2 linear graph configuration example
View shiftx2_linear_graph_example.lua
function splitWord(value)
return bit.band(value, 0xFF), bit.rshift(bit.band(value, 0xFF00),8)
end
function setLinearThreshold(id, threshold, red, green, blue, flash)
local lowt
local hight
lowt, hight = splitWord(threshold)
txCAN(0, 744389 + 15, 1, {id, 0, lowt, hight, red, green, blue, flash})
View gist:bb10380d570559fbce0cc6d700bded59
setTickRate(30)
initCAN(0, 500000)
txCAN(0, 744389 + 12, 1, {0, 0, 5, 0, 0 , 255, 0, 0})
sleep(10)
txCAN(0, 744389 + 12, 1, {0, 1, 20, 0, 255, 0 , 0, 0})
sleep(10)
txCAN(0, 744389 + 12, 1, {1, 0, 5, 0, 0 , 255, 0, 0})
sleep(10)
View ShiftX2 Yaw sensor display
setTickRate(30)
initCAN(0, 500000)
txCAN(0, 744389 + 10, 1, {0, 9, 0,0,0,5})
leds = 7
function onTick()
local x = getImu(3) / 10
local l = math.floor(math.abs(x))
if l > leds then l = leds end
@brentpicasso
brentpicasso / car_overview_simulator.lua
Last active Sep 30, 2019
Simulated tire, brake temperature, TPMS and engine sensors. Tire and brake data based on g-force readings.
View car_overview_simulator.lua
--Note, If 2.10.2 firmware, AccelX and AccelY need to be inverted in the RCP configuration.
tires = 4
tireZones = 4
tirePrefixes = {'TireTmpLF', 'TireTmpRF', 'TireTmpLR', 'TireTmpRR'}
tireValues = {}
tireIds = {}
minTireVal = 0
maxTireVal = 300
@brentpicasso
brentpicasso / tire_temperature_simulator.lua
Last active Jan 27, 2020
Simulated tire and brake temperature data based on g-force readings.
View tire_temperature_simulator.lua
--Note, If 2.10.2 firmware, AccelX and AccelY need to be inverted in the RCP configuration.
tires = 4
tireZones = 4
tirePrefixes = {'TireTmpLF', 'TireTmpRF', 'TireTmpLR', 'TireTmpRR'}
tireValues = {}
tireIds = {}
minTireVal = 0
maxTireVal = 300
You can’t perform that action at this time.