summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* altos/stm: Simplify ao_usb_write a bitKeith Packard2018-04-26
| | | | | | | Remove unnecessary 'offset' param (was always passed zero). This also makes some code conditional on that value no longer necessary. Signed-off-by: Keith Packard <keithp@keithp.com>
* add a warning about Google limiting per-day access until/unless we payBdale Garbee2018-04-22
|
* altos: Hack up code for TeleMetrum to make it just a trackertmgpsKeith Packard2018-03-23
| | | | | | | Support for a failed TeleMetrum device that uses just the GPS receiver and radio to create a TeleGPS-compatible device called 'tmgps'. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/ao_cc1120: Only call ao_packet_slave_stop when HAS_SLAVEKeith Packard2018-03-23
| | | | | | | Don't try to disable packet slave mode when the product doesn't support packet slave mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Add some common definitions for flash loadersKeith Packard2018-03-16
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make panic beeps use fixed frequenciesKeith Packard2018-03-16
| | | | | | | This ensures that the beeps will work even before the configuration has been loaded. Signed-off-by: Keith Packard <keithp@keithp.com>
* chaoskey: Create unified ROM image with both loader and appKeith Packard2018-03-16
| | | | | | | Flash the whole thing all at once to reduce the number of steps during turnon. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Move ao-scheme to a separate repositoryKeith Packard2018-01-10
| | | | | | This way it can be incorporated into multiple operating systems more easily. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Allow unicode in lexerKeith Packard2018-01-08
| | | | | | | This just passes any bytes with the high bit set through the system so programs can include UTF-8 in strings and symbols. What the heck. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lambdakey-v1.0: Add LED function back inKeith Packard2018-01-07
| | | | | | We've made things smaller, so there's (barely) space for this now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: remove debug code from vector writeKeith Packard2018-01-07
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Allow individual lisp keywords to be feature-conditionalKeith Packard2018-01-07
| | | | | | | This lets us build a smaller lisp that is just missing some aliases for existing functionality to save rom space. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Split tests out from build sourcesKeith Packard2018-01-07
| | | | | | Run tests on both tiny and full scheme test programs. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Use double buffering for ChaosKeyKeith Packard2018-01-07
| | | | | | | This improves the USB performance of ChaosKey so that it doesn't NAK during data transfers at all. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: use double buffering for USB rx dataKeith Packard2018-01-07
| | | | | | This also allows us to stop shadowing USB rx buffers in system ram Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Use double buffering for USB tx dataKeith Packard2018-01-07
| | | | | | | This shouldn't have much of an effect, but shows how double buffering works. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Stop shadowing USB tx buffers in system RAMKeith Packard2018-01-07
| | | | | | Use the 16-bit USB memory directly, avoiding the buffer space and the copy Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stmf0: Remove packet counters from non-debug buildKeith Packard2018-01-07
| | | | | | These counters are only useful for helping debug the USB driver. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/kernel: Use ao_put_string for syntax error messageKeith Packard2018-01-07
| | | | | | Avoid using puts, which can be a large library function. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lambdakey-v1.0: Switch back to command buffered inputKeith Packard2018-01-06
| | | | | | Instead of just reading from stdin with no echo or editing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add ports. Split scheme code up.Keith Packard2018-01-06
| | | | | | And lots of other changes, including freeing unreferenced atoms. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: add 'install' target to install both test and tiny testKeith Packard2018-01-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add vector and string funcs. Test everybody.Keith Packard2018-01-04
| | | | | | | Add a bunch of string and vector functions from r7rs. I think most everything is here now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Accept more escaped character constantsKeith Packard2018-01-04
| | | | | | Allow all those specified in r7rs Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Allow make-vector value param to be optionalKeith Packard2018-01-04
| | | | | | It can default to #f Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add builtin list-tailKeith Packard2018-01-04
| | | | | | This is used enough to warrant a builtin, rather than lisp implementation Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Fix macro-detection debuggingKeith Packard2018-01-04
| | | | | | Just update to use ao_scheme_printf Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: add make-string builtinKeith Packard2018-01-04
| | | | | | Allocate a blank string. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Make constant built pool as large as possibleKeith Packard2018-01-04
| | | | | | This allows building with as much constant data as will fit. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Make for-each tail recursiveKeith Packard2018-01-03
| | | | | | | Provides a native version of for-each that is tail recursive, rather than having it just use map and discard the return value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add start/end args to vector->listKeith Packard2018-01-03
| | | | | | | This is an r7rs extension which allows you to extract a subset of the vector. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: fix parsing of vector followed by listKeith Packard2018-01-03
| | | | | | | The 'parsing a vector' state value wasn't getting cleared at the end of the vector, so that (#(1 2) (3 4) returned (#(1 2) #(3 4) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: support %x format for scheme printfKeith Packard2018-01-03
| | | | | | read debugging uses this format. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add support for hex, octal and binary constantsKeith Packard2018-01-03
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Pull out per-frame vals while printing list of framesKeith Packard2017-12-24
| | | | | | Was using the same vals for all frames, which just doesn't work well. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add separate floor-quotient builtinKeith Packard2017-12-24
| | | | | | | Does what 'quotient' did before, now quotient rounds towards zero while floor-quotient rounds down. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak: Remove all compiler resultsKeith Packard2017-12-19
| | | | | | Not just the current version. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/attiny: Add ADC implementationKeith Packard2017-12-19
| | | | | | It's primitive, but might serve to read ADC values. Untested. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/easymini-v2.0: Adapt to final hardware pin assignment changesKeith Packard2017-12-19
| | | | | | | | Beeper moved from PB0 to PB1 (Tim3 CH4) Drogue fire moved from PB6 to PB3 Bootloader moved from PB1 to PB6 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lambdakey-v1.0: Add back and/or macrosKeith Packard2017-12-19
| | | | | | With scheme shrinking a bit, there's now space for these useful macros. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Replace per-type indexed stash with poly stash heapKeith Packard2017-12-19
| | | | | | | Instead of having a random set of stash arrays with explicit indices used by callers, just have a general heap. Less error prone, and less code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Replace memory pool macros with inlinesKeith Packard2017-12-19
| | | | | | | | | | AO_SCHEME_IS_CONST -> ao_scheme_is_const_addr AO_SCHEME_IS_POOL -> ao_scheme_is_pool_addr Provides better typechecking and avoids confusion with ao_scheme_is_const inline (which takes an ao_poly instead of a void *) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: AO_SCHEME_IS_CONS -> ao_scheme_is_consKeith Packard2017-12-19
| | | | | | | This inline was already defined; just use it. Also, switch some places to use ao_scheme_is_pair instead as appropriate. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: ao_scheme__cons -> ao_scheme_consKeith Packard2017-12-19
| | | | | | Fix the double underscore in this name. Ick. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Don't optimize ao_scheme_make_constKeith Packard2017-12-19
| | | | | | | Performance isn't interesting, and it's nice to have a bare system ready for debugging. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Clean up test CFLAGSKeith Packard2017-12-19
| | | | | | make it easy to switch between debug and optimized builds. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: (define (foo . bar)) has a pair, not list as cardKeith Packard2017-12-19
| | | | | | | | When defining a lambda with varargs, the args are not a list as the final element is not a pair or nil. Use pair? instead of list? to detect this form correctly. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: apply also needs to not free value list on lambdasKeith Packard2017-12-19
| | | | | | | | | | When apply is invoked on any function, the cons in the argument list cannot be immediately freed as they have been passed to the function. That applies to both built-ins as well as lambdas; this patch removes the special ao_scheme_skip_cons_free global and just marks the stack in both cases. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Rework display/write codeKeith Packard2017-12-19
| | | | | | | | | | Unify output functions and add bool to switch between write and display mode. Make that only affect strings (as per r⁷rs). Use print recursion detection in frame and stack code, eliminating PRINT flags in type field. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Compile scheme test with -O3Keith Packard2017-12-18
| | | | | | This level of optimization caused trouble, so use it all of the time. Signed-off-by: Keith Packard <keithp@keithp.com>