- enable file creation, reading, writing on mbed for the built-in filesystem
- implementation currently lacks support for directory listings, this will be
added when mbed implementation details are available.
Note: this should work with other ARM arm ports that are connected to a JTAG
debugger that implements semihosting, though I have not tested it.
dip pins p5-p30 are mapped as P0_5 to P0_30
LEDs are mapped to P1_0 to P1_3
This approach could be switched to using a platform specific Lua module to
define all the pins, or C code to do the same.
This helps apps to treat natively-supported LM3S OLED RIT display as just another onboard device.
Doc will be enhanced to give examples on these modules' usages.
any platform. No need to specify it in the file_list table.
- minor comments added to SConstruct
- LM3S platform specific modules commented
- Minor comments in Pong
- Debugging prints removed from Tetrives
- adc_wait_samples now returns the actual number of samples available at the
time it returns. this simplifies a pattern where one would wait on samples
if blocking and then subsequently check the number of available samples.
- adc.insertsamples(id, table, idx, count) function now available to take
samples and insert them into a table. this is slightly slower than
assignment for single values in a table, but can avoid having to use
getsamples (returning new tables) for certain situations
idx: starting index in table where values will be inserted
count: number of samples to get from channel id
- ADC adjusted to work with sequenced acquisition setups. It should now
accomodate both sequenced and non-sequenced approaches on the backend.
A few more adjustments should be made to handle multiple sequencers
but right now neither LM3S or STM32 platforms use more than one sequencer.
- Added adcpoll.lua to demonstrate a simple approach for using clocked
acquisition and displaying results as they become available.
- ADC now works for STM32 (all 16 channels!). This should receive more
extensive testing, but everything should be working at this stage.
- the build system now pays attention to changes in header files meaning that
if any headers change or if the romfs changes (since it is generated as a
header) these changes will get recompiled without having to do a clean.
- removed getsmoothing, setfreerunning, samplesready
- isdone has returned so that one can check if the reason why the buffer is
dry is because no more samples are being collected
- smoothing should support fairly large lengths now (as long as you have the
memory)
- added support to adc.sample to take a table as the first argument so that a
set of channels can be started at closer to the same time.
example:
adcchannels = {0,1,2,3}
adc.sample(adcchannels,8)
this should collect samples on all 4 channels starting nearly at the same
time.
- more comments added to elua_adc.c to describe behavior.
Misc
- remove rndpow2, not being used
is full). Clock and sampling frequency have been moved to a separate function
from burst. There is now one function to initiate sampling called sample
which takes a channel and count. setclock takes a channel, clock_id, and
frequency. Adjustments should be made to make channel groupings somewhat
cleaner, but this is functional.
Suggestions are welcome for simplification :-)
I'll try and make some doc updates in the coming day or so to reflect
finalized adjustments.
ADC:
- getsamples split into getsamples and getsample. getsamples always returns a
table of results. getsample returns single values (if available).
EABI compiler support:
- added a parameter to SConstruct called cprefix, which allows one to define a
prefix other than the arm-elf used by some platforms. Currently the only
platform that does anything with this parameter is LM3S, conf.py scripts can
be updated to handle the default toolchain prefix, and accommodate alternate
ones if needed.
- Added sections to lm3s.ld (originally committed by Jesus Alvarez) to handle
linking properly for arm-eabi targets.