RaceCapturePro Lua Scripting: Difference between revisions
(moar updates.) |
(added more documentation) |
||
Line 214: | Line 214: | ||
** 1 if currently within the start/finish line target, 0 if outside | ** 1 if currently within the start/finish line target, 0 if outside | ||
===getTimeDiff()=== | ===getTimeDiff(time1, time2)=== | ||
Utility function to calculate the absolute difference between two time values, in seconds. ''todo: investigate the need for this function. may be eliminated in 1.2 firmware'' | Utility function to calculate the absolute difference between two time values, in seconds. ''todo: investigate the need for this function. may be eliminated in 1.2 firmware'' | ||
* params | * params | ||
** | ** time1 | ||
** | ** time2 | ||
* returns | * returns | ||
** The absolute difference between the specified values | ** The absolute difference between the specified values | ||
===getTimeSince=== | ===getTimeSince(time)=== | ||
Utility function to calculate the time since midnight, in seconds. ''todo: investigate the need for this function. may be eliminated in 1.2 firmware'' | Utility function to calculate the time since midnight, in seconds. ''todo: investigate the need for this function. may be eliminated in 1.2 firmware'' | ||
* params | * params | ||
** time | ** time | ||
* returns | * returns | ||
** The number of seconds since midnight | ** The number of seconds since midnight | ||
===getAccel=== | ===getAccel(channel)=== | ||
Reads the specified accelerometer channel | |||
* params | |||
** channel | |||
* returns | |||
** The accelerometer value scaled to actual G force, averaged across 10 samples | |||
===getAccelRaw(channel)=== | |||
Reads the raw ADC value of the specified accelerometer channel | |||
* params | |||
** channel | |||
* returns | |||
** The raw accelerometer value, averaged across 10 samples | |||
===startLogging()=== | |||
Begins a logging session | |||
* params | |||
** (none) | |||
* returns | |||
** (none) | |||
===stopLogging()=== | |||
Stops the current logging session. If not logging, this function has no effect. | |||
* params | |||
** (none) | |||
* returns | |||
** (none) | |||
===setLed(led, state)=== | |||
Sets the state of a front panel LED | |||
* params | |||
** led (1-3) | |||
* returns | |||
** (none) | |||
===flashLoggerConfig()=== | |||
Writes the current configuration in RAM to flash memory. | |||
* params | |||
** (none) | |||
* returns | |||
** (none) | |||
===setAnalogSampleRate(channel, rate)=== | |||
Sets the sample rate for the specified channel | |||
* params | |||
** channel | |||
** sampleRate | |||
* returns | |||
** (none) | |||
=== | ===getAnalogSampleRate()=== | ||
Gets the sample rate for the specified channel | |||
* params | |||
** (none) | |||
* returns | |||
** (none) | |||
=== | ===setAnalogScaling(channel, scaling)=== | ||
=== | Sets the linear analog scaling value for the specified channel | ||
* params | |||
** channel: the analog channel | |||
** scaling: the scaling value | |||
* returns | |||
** (none) | |||
===getAnalogScaling(channel)=== | |||
Gets the linear analog scaling value for the specified channel | |||
* params | |||
** channel: the analog channel | |||
* returns | |||
** the scaling value | |||
=== | ===setPwmClockFrequency(freq)=== | ||
Sets the clock frequency for all PWM channels | |||
* params | |||
** freq: The clock frequency ''todo: what units?'' | |||
* returns | |||
** (none) | |||
=== | ===getPwmClockFrequency()=== | ||
Gets the PWM clock frequency controlling all PWM channels | |||
* params | |||
** (none) | |||
* returns | |||
** the PWM clock frequency ''todo: what units?'' | |||
===setPwmSampleRate(channel, rate)=== | |||
Sets the sample rate for the specified PWM channel | |||
* params | |||
** channel: the PWM channel | |||
** rate: the sample rate to set | |||
* returns | |||
** (none) | |||
===getPwmSampleRate(channel)=== | |||
Gets the PWM sample rate for the specified PWM channel | |||
* params | |||
** channel: the PWM channel | |||
* returns | |||
** rate: the currently configured sample rate | |||
=== | ===setPwmOutputConfig(channel, config)=== | ||
=== | Sets the output configuration for the specified PWM channel. Note, the hardware dip switch settings must match the configuration set here. | ||
* params | |||
** channel: the PWM channel | |||
** config: the PWM configuration. 0 = analog output; 1 = PWM output | |||
===getPwmOutputConfig(channel)=== | |||
Gets the output configuration for the specified PWM channel. Note, the hardware dip switch settings must match the value returned here | |||
* params | |||
** channels: the PWM channel | |||
* returns | |||
* config: the PWM configuration. 0 = analog output; 1 = PWM output | |||
===setPwmLoggingConfig(channel, config)=== | |||
Sets the logging configuration for the specified PWM channel | |||
* params | |||
** channel : the PWM channel 0 - 3 | |||
** config: the logging configuration. 0 = PWM period; 1 = PWM duty cycle; 2 = PWM volts | |||
* returns | |||
** (none) | |||
===getPwmLoggingConfig(channel)=== | |||
Gets the logging configuration for the specified PWM channel | |||
* params | |||
** channel : the PWM channel 0 - 3 | |||
* return | |||
** config: the logging configuration. 0 = PWM period; 1 = PWM duty cycle; 2 = PWM volts | |||
=== | ===setPwmStartupDutyCycle(channel, dutyCycle)=== | ||
Sets the PWM duty cycle for the specified channel applied at system start-up. | |||
* params | |||
** channel : the PWM channel 0 - 3 | |||
** dutyCycle: the duty cycle, 0 - 100 | |||
===getPwmStartupDutyCycle(channel)=== | |||
=== | Gets the PWM duty cycle for the specified channel applied at system start-up. | ||
* params | |||
** channel : the PWM channel 0 - 3 | |||
* returns | |||
** dutyCycle: the duty cycle, 0 - 100 | |||
===setPwmStartupPeriod=== | ===setPwmStartupPeriod(channel, period)=== | ||
===getPwmStartupPeriod=== | Sets the PWM period for the specified channel at system start-up. | ||
* params | |||
** channel: the PWM channel 0 - 3 | |||
** period: the PWM period ''todo: define period units'' | |||
* returns | |||
** (none) | |||
===getPwmStartupPeriod(channel)=== | |||
Gets the PWM period for the specified channel at system start-up. | |||
* params | |||
** channel: the PWM channel 0 - 3 | |||
* returns | |||
** period: the PWM period ''todo: define period units'' | |||
===setPwmVoltageScaling(channel, scaling)=== | |||
Sets the voltage scaling for the specified channel at system start-up. | |||
* params | |||
** channel: the PWM channel 0 - 3 | |||
** scaling: the scaling value | |||
* returns | |||
** (none) | |||
===getPwmVoltageScaling(channel)=== | |||
Gets the voltage scaling for the specified channel at system start-up. | |||
* params | |||
** channel: the PWM channel 0 - 3 | |||
** scaling: the scaling value | |||
* returns | |||
** (none) | |||
===setGpsInstalled=== | ===setGpsInstalled=== | ||
===getGpsInstalled=== | ===getGpsInstalled=== | ||
Line 289: | Line 422: | ||
===setLapTimeSampleRate=== | ===setLapTimeSampleRate=== | ||
===getLapTimeSampleRate=== | ===getLapTimeSampleRate=== | ||
===setGpioSampleRate=== | ===setGpioSampleRate=== | ||
Line 295: | Line 430: | ||
===setGpioConfig=== | ===setGpioConfig=== | ||
===getGpioConfig=== | ===getGpioConfig=== | ||
===setTimerSampleRate=== | ===setTimerSampleRate=== | ||
Line 310: | Line 447: | ||
===calculateTimerScaling=== | ===calculateTimerScaling=== | ||
===getTimerScaling=== | ===getTimerScaling=== | ||
===setAccelInstalled=== | ===setAccelInstalled=== |
Revision as of 07:22, 11 May 2013
This page is under construction. Check back soon!
Scripting functions for RaceCapture/Pro
getGpio( channel )
Retrieves the state of the specified GPIO channel
- params
- channel: integer 0 - 2
- returns:
- state: 1 = channel is high, 0 = channel is low
When the channel is configured for input mode, a voltage high input (> 2 volts) will read as 1; a voltage low will read as 0. A disconnected channel will read as high due to the internal pullup resistor.
When the channel is configured as output, the channel reads 1 when the channel is activated (output transistor is connected to ground) and 0 when the channel is deactivated (pullup resistor is active)
setGpio ( channel, state )
Sets the state of the GPIO channel when the channel is configured for output mode.
- params
- channel: integer 0 - 2, state - 1 = output active; 0 = output inactive
- returns:
- none
When the state specified is 1, the output is active (transistor is connected to ground). When state is 0, transistor is disconnected, and pullup resistor is active.
When configured for input mode this function has no effect.
getButton()
Gets the state of the front panel pushbutton.
- params
- none
- returns
- state: 1 = pushbutton is depressed; 0 = pushbutton is not depressed
isSDCardPresent
Indicates if an SD card is present in the socket
present isSDCardPresent()
- params
- none
- returns
- present: 1 = SD card is present in socket; 0 = SD card not present
isSDCardWritable()
Indicates if the SD card is writable (lock switch on SD card is active)
- params
- none
- returns
- writable: 1 = SD card is writable; 0 = SD card is not writable
setPwmDutyCycle( channel, dutyCyclePct )
Sets the duty cycle of the specified PWM / Analog output channel to the specified duty cycle percentage
- params
- channel: PWM / Analog output channel 0 - 3
- returns
- none
setPwmPeriod( channel, period )
Sets the period of the specified PWM / Analog output channel to the specified period
- params
- channel: PWM / Analog output channel 0 - 3
- period: The period value
- returns
- none
setAnalogOut( channel, voltage )
Sets the output voltage of the specified PWM / Analog output channel to the specified period. A convenience function equivalent to setPwmDutyCycle that translates voltage to PWM percentage.
- params
- channel: PWM / Analog output channel 0 - 3
- voltage: the specified output voltage ( 0 - 5v)
- returns
- none
getTimerRpm(channel)
Returns the current RPM of the specified timer input channel. Note, the timer channel configuration must be set to RPM mode.
- params
- channel: Timer channel 0 - 3
- returns: RPM value
getTimerPeriodMs(channel)
Returns the current duration of the full cycle pulse of the specified timer input channel, in milliseconds. Note the timer channel configuration must be set to Duration mode.
- params
- channel: Timer channel 0 - 3
- returns: millisecond value
getTimerFrequency(channel)
Returns the current frequency present on the specified timer input channel, in Hz. Note the timer channel configuration must be set to Frequency Mode.
- params
- channel: Timer channel 0 - 3
- returns: Frequency in Hz
getTimerRaw(channel)
Returns the current raw timer value as measured on the specified timer input channel.
- params
- channel: Timer channel 0 - 3
- returns: Raw timer value between 0 - 65535
getAnalog(channel)
Reads the scaled analog value for the specified analog input channel.
- params
- channel: Analog input channel 0 - 7
- returns: Scaled / calculated value for the specified analog channel as defined in the channel scaling configuration
getAnalogRaw(channel)
Reads the raw analog value for the specified analog input channel.
- params
- channel: Analog input channel 0 - 7
- returns: The raw value measured by the 10 bit Analog to Digital Converted on the specified analog channel, between 0 - 1023
readSerial(port)
Read a line of data from the specified serial port. This command blocks until a newline ('\n') character is received on the port.
- params
- port: Serial port 0 - 1
- returns: a line of serial data
writeSerial(port, data)
Writes data to the specified serial port.
- params
- port: Serial port 0 - 1
- data: the data in string format
getGpsPosition()
Reads the current position as measured by the attached GPS module coming in firmware 1.2
- params
- none
- returns
- Latitude: latitude in decimal degrees
- Longitude: longitude in decimal degress
getGpsLatitude()
Provides the current latitude as measured by the attached GPS module will be removed in firmware 1.2, replaced with getGpsPosition
- params
- (none)
- returns
- The current latitude in decimal degrees
getGpsLongitude()
Provides the current longitude as measured by the attached GPS module will be removed in firmware 1.2, replaced with getGpsPosition
- params
- (none)
- returns
- The current longitude in decimal degrees
getGpsSpeed()
Provides the current speed as measured by the attached GPS module
- params
- (none)
- returns
- The current speed in MPH
getGpsQuality()
Provides the current GPS quality indicator as indicated by the attached GPS module
- params
- (none)
- returns
- The current GPS quality indicator
getGpsTime()
Provides the current GPS time as indicated by the attached GPS module (in NMEA format) todo: document this
- params
- (none)
- returns
- The current GPS time value
getLapCount()
Provides the current Lap Count as determined by the start/finish line configuration and measured by the attached GPS module.
- params
- (none)
- returns
- The number of laps detected since the logging session started
getLapTime()
Provides the last lap time as determined by the start/finish line configuration and measured by the attached GPS module.
- params
- (none)
- returns
- The last measured lap time in decimal minutes / seconds
getGpsSec()
Provides the number of seconds since midnight, as measured by the GPS module. todo: how does this relate to timezone? GMT or local?
- params
- (none)
- returns
- number of seconds since midnight, as measured by the attached GPS module
getAtStartFinish()
Indicates if within the start finish line target as determined by the start/finish line configuration and measured by the attached GPS module.
- params
- (none)
- returns
- 1 if currently within the start/finish line target, 0 if outside
getTimeDiff(time1, time2)
Utility function to calculate the absolute difference between two time values, in seconds. todo: investigate the need for this function. may be eliminated in 1.2 firmware
- params
- time1
- time2
- returns
- The absolute difference between the specified values
getTimeSince(time)
Utility function to calculate the time since midnight, in seconds. todo: investigate the need for this function. may be eliminated in 1.2 firmware
- params
- time
- returns
- The number of seconds since midnight
getAccel(channel)
Reads the specified accelerometer channel
- params
- channel
- returns
- The accelerometer value scaled to actual G force, averaged across 10 samples
getAccelRaw(channel)
Reads the raw ADC value of the specified accelerometer channel
- params
- channel
- returns
- The raw accelerometer value, averaged across 10 samples
startLogging()
Begins a logging session
- params
- (none)
- returns
- (none)
stopLogging()
Stops the current logging session. If not logging, this function has no effect.
- params
- (none)
- returns
- (none)
setLed(led, state)
Sets the state of a front panel LED
- params
- led (1-3)
- returns
- (none)
flashLoggerConfig()
Writes the current configuration in RAM to flash memory.
- params
- (none)
- returns
- (none)
setAnalogSampleRate(channel, rate)
Sets the sample rate for the specified channel
- params
- channel
- sampleRate
- returns
- (none)
getAnalogSampleRate()
Gets the sample rate for the specified channel
- params
- (none)
- returns
- (none)
setAnalogScaling(channel, scaling)
Sets the linear analog scaling value for the specified channel
- params
- channel: the analog channel
- scaling: the scaling value
- returns
- (none)
getAnalogScaling(channel)
Gets the linear analog scaling value for the specified channel
- params
- channel: the analog channel
- returns
- the scaling value
setPwmClockFrequency(freq)
Sets the clock frequency for all PWM channels
- params
- freq: The clock frequency todo: what units?
- returns
- (none)
getPwmClockFrequency()
Gets the PWM clock frequency controlling all PWM channels
- params
- (none)
- returns
- the PWM clock frequency todo: what units?
setPwmSampleRate(channel, rate)
Sets the sample rate for the specified PWM channel
- params
- channel: the PWM channel
- rate: the sample rate to set
- returns
- (none)
getPwmSampleRate(channel)
Gets the PWM sample rate for the specified PWM channel
- params
- channel: the PWM channel
- returns
- rate: the currently configured sample rate
setPwmOutputConfig(channel, config)
Sets the output configuration for the specified PWM channel. Note, the hardware dip switch settings must match the configuration set here.
- params
- channel: the PWM channel
- config: the PWM configuration. 0 = analog output; 1 = PWM output
getPwmOutputConfig(channel)
Gets the output configuration for the specified PWM channel. Note, the hardware dip switch settings must match the value returned here
- params
- channels: the PWM channel
- returns
- config: the PWM configuration. 0 = analog output; 1 = PWM output
setPwmLoggingConfig(channel, config)
Sets the logging configuration for the specified PWM channel
- params
- channel : the PWM channel 0 - 3
- config: the logging configuration. 0 = PWM period; 1 = PWM duty cycle; 2 = PWM volts
- returns
- (none)
getPwmLoggingConfig(channel)
Gets the logging configuration for the specified PWM channel
- params
- channel : the PWM channel 0 - 3
- return
- config: the logging configuration. 0 = PWM period; 1 = PWM duty cycle; 2 = PWM volts
setPwmStartupDutyCycle(channel, dutyCycle)
Sets the PWM duty cycle for the specified channel applied at system start-up.
- params
- channel : the PWM channel 0 - 3
- dutyCycle: the duty cycle, 0 - 100
getPwmStartupDutyCycle(channel)
Gets the PWM duty cycle for the specified channel applied at system start-up.
- params
- channel : the PWM channel 0 - 3
- returns
- dutyCycle: the duty cycle, 0 - 100
setPwmStartupPeriod(channel, period)
Sets the PWM period for the specified channel at system start-up.
- params
- channel: the PWM channel 0 - 3
- period: the PWM period todo: define period units
- returns
- (none)
getPwmStartupPeriod(channel)
Gets the PWM period for the specified channel at system start-up.
- params
- channel: the PWM channel 0 - 3
- returns
- period: the PWM period todo: define period units
setPwmVoltageScaling(channel, scaling)
Sets the voltage scaling for the specified channel at system start-up.
- params
- channel: the PWM channel 0 - 3
- scaling: the scaling value
- returns
- (none)
getPwmVoltageScaling(channel)
Gets the voltage scaling for the specified channel at system start-up.
- params
- channel: the PWM channel 0 - 3
- scaling: the scaling value
- returns
- (none)