summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* update changelog for Debian builddebian/1.8.4-1Bdale Garbee2017-12-21
|
* Merge branch 'branch-1.8' into debianBdale Garbee2017-12-21
|\
| * releasing 1.8.41.8.4Bdale Garbee2017-12-21
| |
| * Merge branch 'master' into branch-1.8Bdale Garbee2017-12-21
| |\
| | * Bump for version 1.8.4Keith Packard2017-12-21
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| | * Doc updates for version 1.8.4Keith Packard2017-12-21
| | | | | | | | | | | | 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>
| | * ao-bringup: turnon_easymini was left with dfu_util disabledKeith Packard2017-12-19
| | | | | | | | | | | | | | | | | | | | | This was presumably changed for some test and left in the wrong state. 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>
| | * altos/scheme: Work around gcc 7.2.0 optimization bug in memory managerKeith Packard2017-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After marking a set of memory chunks, it's possible that all of them will be packed tight against 'top', in which case none of them will be moving. In that case, gcc 7.2.0 appears to generate incorrect code causing the loop to be abandoned, meaning that we don't actually collect anything at all. Add a quick short-circuit test just after the mark phase that skips the code which wouldn't do anything in this case. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: rearrange debugging definesKeith Packard2017-12-18
| | | | | | | | | | | | | | | | | | | | | Allow applications to redefine these as desired, add more flexibility in what the various memory debugging flags can do. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: abort when we try to print an invalid valueKeith Packard2017-12-18
| | | | | | | | | | | | | | | | | | | | | This can catch a host of interpreter bugs; best to abandon the program when it happens. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: Use memory manager mark code to note recursive printKeith Packard2017-12-17
| | | | | | | | | | | | | | | | | | | | | This flags any object being printed and checks before recursing to avoid infinite loops. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: Use AO_SCHEME_IS_CONS in cons memory funcsKeith Packard2017-12-17
| | | | | | | | | | | | | | | | | | | | | More efficient than ao_scheme_poly_type as it doesn't care about non-prim types. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * ao-bringup/test-chaoskey: Make finding most recent device more reliableKeith Packard2017-12-14
| | | | | | | | | | | | | | | | | | | | | Use dmesg -t to strip off the timestamp, which avoids having a variable number of fields for awk to look at. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/lambdakey-v1.0: shrink scheme code to fit the ROMKeith Packard2017-12-14
| | | | | | | | | | | | | | | | | | scheme has grown a bit; adapt Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: swap BIGINT and STRING typesKeith Packard2017-12-14
| | | | | | | | | | | | | | | | | | | | | | | | This lets BIGINT be a primitive type, allowing it to use all 32 bits for storage. This does make strings another byte longer, and also slightly harder to deal with. It's a trade off. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: integer? is builtin on all versionsKeith Packard2017-12-12
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/lambdakey-v1.0: Make stack largerKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | scheme doesn't like to run with less than a 1kB stack. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: inline some mem calls to reduce stack usage.Keith Packard2017-12-12
| | | | | | | | | | | | | | | | | | Also includes some code to display stack usage during collect calls. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: Use direct calls from frame to frame_vals mem functionsKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | Avoids the extra stack depth of the poly versions. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: More compiler warning cleanupsKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | Make local funcs static. Don't mix decls and code.x Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: apply const to places taking const strings.Keith Packard2017-12-12
| | | | | | | | | | | | | | | | | | Mostly printf and friends. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/stm: Align 'data' to 8 bytes, just like textramKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The textram section must be aligned to 8 bytes to keep the linker happy. However, if that section contains no data, the declaration will set the __data_start__ value to that alignment, but the data section itself would start on a 4-byte alignment, potentially 4 bytes lower than the value indicated by __data_start__. This completely scrambles initialized memory as the startup code will copy the data segment to __data_start__, 4 bytes off of the actual data segment start. Fix this by forcing the data segment to also be aligned to 8 bytes. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/kernel: Allow ao_cmd to be built without taskingKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | Useful for single-threaded applications, like lambdakey Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/lambdakey-v1.0: Get this building againKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The lambdakey can't hold a full implementation of the scheme interpreter, so use only a subset, removing floats, bigints and vectors. Also reduce the pre-loaded lisp code as well. It's pretty spare at this point; but it does fill the ROM. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: Support scheme subsetting via feature settingsKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | | | | This provides for the creation of smaller versions of the interpreter, leaving out options like floating point numbers and vectors. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/scheme: Add ao_scheme_vector.cKeith Packard2017-12-12
| | | | | | | | | | | | | | | | | | Useful to include the code for implementing vectors Signed-off-by: Keith Packard <keithp@keithp.com>
| | * doc: Don't 'publish' release notes, don't build pdf release notesKeith Packard2017-12-11
| | | | | | | | | | | | | | | | | | | | | | | | All we use the release notes for is to include into the main AltOS page. Also remove the docinfo for these files so that information isn't duplicated for each set of release notes. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * update Releasing with changes discovered in 1.8.3 release processBdale Garbee2017-12-11
| | |
* | | update changelog for Debian builddebian/1.8.3-1Bdale Garbee2017-12-11
| | |
* | | Merge branch 'branch-1.8' into debianBdale Garbee2017-12-11
|\| |
| * | releasing 1.8.31.8.3Bdale Garbee2017-12-11
| | |
| * | Merge branch 'master' into branch-1.8Bdale Garbee2017-12-11
| |\|
| | * TeleMega default is now v3.0Bdale Garbee2017-12-11
| | |
| | * doc: Update release notes and docinfo for 1.8.3Keith Packard2017-12-11
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altoslib: Keep old GPS values when updating dataKeith Packard2017-12-11
| | | | | | | | | | | | | | | | | | | | | This way, updating satellite information doesn't drop all of the regular GPS data on the floor. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos: Actually store current MPU9250 data in data ringKeith Packard2017-12-11
| | | | | | | | | | | | | | | | | | | | | The ring is updated when the ADC finishes; all of the other sensor data needs to be copied in at that point. Signed-off-by: Keith Packard <keithp@keithp.com>