Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
116 check-ins using file projects/bottom_up/tangled/src/mmio.zig version c5e138fc5f
2025-05-09
| ||
16:54 | Checkpoint. More copy editing and code scrubbing. Leaf check-in: 54b88fc4e5 user: andrewm tags: trunk | |
2025-05-08
| ||
17:29 | Copy editing and code scrubbing on the assigner state model section. check-in: 06be0b5334 user: andrewm tags: trunk | |
2025-05-07
| ||
20:06 | Copy editing. check-in: f1811ce62f user: andrewm tags: trunk | |
17:51 | Completing work on assigner state model tests. Changed some function interfaces for better egonomics. check-in: 5140204b45 user: andrewm tags: trunk | |
2025-05-05
| ||
17:08 | Finishing up multiple assigner tests. check-in: 9fea528af2 user: andrewm tags: trunk | |
2025-05-04
| ||
17:20 | Checkpoint. Still working on multiple assigner. check-in: 222451b27f user: andrewm tags: trunk | |
2025-05-03
| ||
17:34 | Checkpoint. Continuing work on multiple assigners. check-in: a4e62f752a user: andrewm tags: trunk | |
2025-05-01
| ||
16:54 | Minor correction. check-in: 7a9e7dacbb user: andrewm tags: trunk | |
16:52 | Copy editing and continuing work on assigner state models. check-in: 0b8f623a80 user: andrewm tags: trunk | |
2025-04-29
| ||
17:28 | Checkpoint. Reworked some of the comptime validation code used with RelVar's to use EnumSet as a way of reasoning about identifiers. Cleaned up some of the function names for RelClass's to better reflect their RelVar counterparts. check-in: b09b5950cf user: andrewm tags: trunk | |
2025-04-28
| ||
17:14 | Reorganizing state model and assigner code. check-in: 1bf0dfb38c user: andrewm tags: trunk | |
10:31 | Copy editing and code scrubbing. check-in: 07ea930b5f user: andrewm tags: trunk | |
2025-04-27
| ||
15:21 | Added missing source file. check-in: f54269e83e user: andrewm tags: trunk | |
15:20 | Checkpoint. Cleaned up names of some of the specialized selection functions. Added a limit function for InstanceSet to return specific count of tuples in the set. check-in: 056bce6e61 user: andrewm tags: trunk | |
2025-04-26
| ||
17:09 | Checkpoint. Refining the printout of state model test output. check-in: 77f9839eb7 user: andrewm tags: trunk | |
16:25 | Checkpoint. Many changes: (1) For relvars, improved the way initial instance populations are handled. Initial instances now use an enum literal to identify them for later use. (2) For classes, expanded the way an instance can be selected. (3) For associations, can now specify a set of initiallly related instances from the initial instance population. Integrated assigner state models into associations. check-in: c95da94011 user: andrewm tags: trunk | |
2025-04-24
| ||
17:06 | Cleaned up generation counter. Now that is a separate counter for each tuple in a relvar. Added functions to improve the ergonomics of dealing with class generated identifiers and being able to relate in association initial instance populations using the generated identifier. check-in: 6e7e96baea user: andrewm tags: trunk | |
2025-04-22
| ||
17:15 | Checkpoint. Changed the interface to selectByIdentifier to accept a tuple. The previous interface worked only at compile time. Added relateBySelection() function to support building up a set of association instances at initialization time. Finished multi-assigner state model. Began the process of integrating assigners into the association code. check-in: b8b96e8065 user: andrewm tags: trunk | |
2025-04-20
| ||
16:42 | Checkpoint. Continuing work on assigners. check-in: a99451d5be user: andrewm tags: trunk | |
2025-04-18
| ||
10:22 | Clean up some name changes for the state model unit tests. Also encountered the problem with dblatex generating an error on some inputs that are in code sections. In this case it was a test and after some fiddling it turned out to require deleting a blank line to satisfy dblatex. Very strange indeed. check-in: 38e8bf68cc user: andrewm tags: trunk | |
2025-04-17
| ||
15:59 | Changing function names. check-in: 7620279a79 user: andrewm tags: trunk | |
14:36 | Reworked some of the association test cases to use the initial population of a relational class to set up the test. Changed relvalue algebra operations to take a "*const Self" method argument in anticipation of the location optimization going away. check-in: 15e218d46e user: andrewm tags: trunk | |
2025-04-16
| ||
17:23 | Addition state model clean up and argument validation. check-in: 7935c30c1c user: andrewm tags: trunk | |
2025-04-15
| ||
16:17 | Completed work on state models for relational classes. Released as version 4.0.0. check-in: bb58488f6c user: andrewm tags: trunk, ctom-version-4.0.0 | |
2025-04-14
| ||
16:10 | Continuing work on state models. check-in: 0abfb1d81c user: andrewm tags: trunk | |
2025-04-13
| ||
17:36 | Checkpoint. Continuing work on class state models. check-in: 53accd7491 user: andrewm tags: trunk | |
2025-04-12
| ||
20:03 | Copy editing. check-in: 86d824d88b user: andrewm tags: trunk | |
17:31 | Checkpoint. Continuing work on state models. check-in: d3c1ca5912 user: andrewm tags: trunk | |
2025-04-11
| ||
20:11 | Checkpoint. More teeking when it is too late. check-in: ecf2106a57 user: andrewm tags: trunk | |
19:52 | Checkpoint. Reviewing and teeking. check-in: c0f5b7d305 user: andrewm tags: trunk | |
16:38 | Checkpoint. Continuing work on state models. check-in: f95a31424f user: andrewm tags: trunk | |
2025-04-10
| ||
17:04 | Continuing work on state models. check-in: e0cc4b5d05 user: andrewm tags: trunk | |
2025-04-09
| ||
17:15 | Editing state model text. check-in: 567d074935 user: andrewm tags: trunk | |
14:51 | Copy editing. check-in: 1a4fc0c66e user: andrewm tags: trunk | |
14:50 | Merging reorg of state model code back onto the trunk. check-in: 09ce5099e8 user: andrewm tags: trunk | |
2025-04-08
| ||
11:01 | Update for 0.15-dev branch. Added build id for all the test applications. Closed-Leaf check-in: e7cfdf6a6e user: andrewm tags: state-model-reorg | |
2025-04-06
| ||
16:47 | Continuing work on state models and their documentation. Minor adjustments to use new compiler built-in functions. check-in: 17f4bcbdad user: andrewm tags: state-model-reorg | |
2025-04-05
| ||
15:20 | Reworked tagged catalogs to use EnumArray directly rather than cobbling together and ad hoc implementation. check-in: ee2e62ef9d user: andrewm tags: state-model-reorg | |
13:16 | Yet another round of function renaming. check-in: 466d2952af user: andrewm tags: state-model-reorg | |
2025-04-04
| ||
16:11 | Integrated state models into relation classes. All unit tests passing. check-in: 9d3a3927c4 user: andrewm tags: state-model-reorg | |
2025-03-31
| ||
16:31 | Create new branch named "state-model-reorg" check-in: 68efca7176 user: andrewm tags: state-model-reorg | |
2025-03-26
| ||
17:09 | More name changes and reorganization of code. check-in: 6a08cd0709 user: andrewm tags: trunk | |
2025-03-25
| ||
17:05 | Checkpoint. Many name changes. Expanded use of @splat() for array initialization. check-in: dbaa011f04 user: andrewm tags: trunk | |
13:20 | Checkpoint. Minor copy editing and some function and type names are changed. check-in: 4b2308ba25 user: andrewm tags: trunk | |
2025-03-24
| ||
16:34 | Added creation event test case and fixed the bugs. Found a strange error with asciidoc where it error out. After reducing the content, it turned out a particular code sequence in a code block was the problem. Changed the spacing and arrangement for the code and the problem went away. Whatever. check-in: f05d667a14 user: andrewm tags: trunk | |
2025-03-23
| ||
15:58 | Now have a much more consistent interface across relvar, class and active class. Much more work to do on active class, but now is time to consider what a domain looks like. check-in: d230bb567c user: andrewm tags: trunk | |
2025-03-21
| ||
17:32 | Still working on relvars to support specifying an initial instance population at comptime. check-in: 99e0778a69 user: andrewm tags: trunk | |
2025-03-20
| ||
10:58 | Changing order of arguments in the RelVar, RelClass, and ActiveRelClass type functions. check-in: cf2077737e user: andrewm tags: trunk | |
2025-03-19
| ||
17:36 | Removed @constCast by iterating over an EnumArray using the values of the enum index of the array rather than an iterator. check-in: 6aeacd14cc user: andrewm tags: trunk | |
2025-03-18
| ||
17:08 | Continuing work on active classes. check-in: dfc015b651 user: andrewm tags: trunk | |
2025-03-16
| ||
16:55 | Continuing work to active classes and using namespaces for generalizations and relational classes. check-in: b185f255b0 user: andrewm tags: trunk | |
2025-03-15
| ||
17:13 | Continuing refinement of relvar. Now uses pointers to the reclass namespaces for associations. check-in: e426613685 user: andrewm tags: trunk | |
2025-03-14
| ||
20:17 | copy editing check-in: 584e5141a1 user: andrewm tags: trunk | |
17:18 | Further clean up of relvar's. Now the relvar container storage is not public and several validation functions were cleaned up and new one introduced. check-in: 153e021a2f user: andrewm tags: trunk | |
2025-03-13
| ||
17:02 | Reworking text of relation variable section. Rationalizing some of design decision about tuple storage in relvars. check-in: 4967d44d07 user: andrewm tags: trunk | |
12:41 | Integrating state model work back onto trunk. This integrated the experimental state model work with relational classes. Also, relvars, relational classes, associations, and generalizations are now created as namespaces rather than structs with fields. check-in: 7f197a3151 user: andrewm tags: trunk | |
12:34 | Adding files in preparation for merging to the trunk. Closed-Leaf check-in: f9e90e2619 user: andrewm tags: state-model-experiments | |
2025-03-12
| ||
17:26 | Finished the conversion to using namespace structs for relvars, association, generalizations, classes, and active classes. check-in: 76551e5da4 user: andrewm tags: state-model-experiments | |
2025-03-11
| ||
16:57 | Got associations to operate in the new scheme where classes and relvars are represented as Zig namespaces. Generalizations still need work. check-in: 1354b7fd7b user: andrewm tags: state-model-experiments | |
2025-03-09
| ||
17:19 | Clean up of event dispatch. Actions now execute as a relational expression. Logging is cleaned up. Self directed events are properly dispatched immediately. check-in: 0e0acd93b2 user: andrewm tags: state-model-experiments | |
2025-03-08
| ||
16:56 | Checkpoint. Success in being able to have an InstanceSet as the first argument to an action function and still manage to have Events carry an instance reference that can be validated. Lots more work, but this is progress. check-in: ab5430edea user: andrewm tags: state-model-experiments | |
14:39 | Checkpoint. Event dispatch is back working, but I intend to make another stab at have InstanceSet as the first argument of state actions. check-in: eb6e78c2c4 user: andrewm tags: state-model-experiments | |
11:08 | Back to passing the tests. Reworked substantial amounts of relvar and class to clarify how instance id's work compared to how instance sets work. Action function are now invoked with the instance id and are obliged to manufacture an instance set from that if they wish to access their own instance data or navigate relationships. Since instance sets do not carry enough information to validate the lifetime of any instance in the set, we must start from known valid tuples and that can only be assured using an instance id. check-in: fc5a9ae48a user: andrewm tags: state-model-experiments | |
2025-03-07
| ||
17:17 | Some rework causes this commit not to compile, but I wanted to capture the state machine dispatch code. There is some reorg ongoing to clean up some of the interfaces between relvars, relation classes, and active classes. check-in: e7b920f03e user: andrewm tags: state-model-experiments | |
2025-03-06
| ||
13:00 | Changes due to the release of Zig 0.14.0. Changes were minor since we had been following 0.14-dev releases. Continued work on state machine dispatch. Got action function dispatch working using simpler code than the experimental version. check-in: cd8b371556 user: andrewm tags: state-model-experiments | |
2025-03-04
| ||
23:40 | Copy editing. check-in: 05757a3d52 user: andrewm tags: state-model-experiments | |
17:34 | Continuing work on active classes. check-in: e358c4fdc1 user: andrewm tags: state-model-experiments | |
15:19 | Converted both relvar and relation class type to being namespace structures that contain variables to hold the required data. Since the structs are generated by a type function at compile time, and each relvar or relational class is different, there is no need to have a structure with fields since they never needed to be instanciated. In fact, previously they were always variable of relvar type were always default initialized. This eliminates the need for that. Intent is to do the same with active classes that have a state model and perhaps even with associations and generalizations. check-in: 4a30f58780 user: andrewm tags: state-model-experiments | |
2025-03-03
| ||
16:23 | Seem to have settled on an interface and can construct the transition matrix and action function map. check-in: 1098d2dec4 user: andrewm tags: state-model-experiments | |
2025-03-02
| ||
13:36 | Create new branch named "state-model-experiments" check-in: 9bcb8effaa user: andrewm tags: state-model-experiments | |
13:34 | Minor changes to account for readAttribute now no longer returning an error union. check-in: 37668e723d user: andrewm tags: trunk | |
13:33 | Corrected a bug caused by triggering a measurement before the initial time out of the periodic measurement timer queue element. Changed the measurement time from 10 to 20 ms just to make sure. check-in: b9b10f59db user: andrewm tags: trunk | |
2025-02-28
| ||
16:57 | First cut at state model in the literate program using RelClass types. check-in: 9c081b2c3e user: andrewm tags: trunk | |
2025-02-24
| ||
16:37 | Beginning to work on the sequencing and synchronization chapter. Past experimental coding on state models is now being refined and made to work with Relational Classes. First cut. Incomplete. Much more to go. check-in: 75a2c4e5fb user: andrewm tags: trunk | |
2025-02-21
| ||
15:40 | Wrote small weather app that combines the BME 280 sensor with the alpha-numeric LED display. Samples every minute and rotate through the 3 values at 5 second intervals. Cute! check-in: 1c8a678103 user: andrewm tags: trunk | |
2025-02-20
| ||
15:46 | Changed the behavior of opening a UART with hardware control. Upon opening if CTS is not asserted, the open fails. Otherwise, the application might "clog up" when there is no connection to the UART. Also improved the ergonomics of setting up the system and log consoles by factoring out some common code. check-in: 85215a0560 user: andrewm tags: trunk | |
2025-02-19
| ||
17:46 | Dithering BME 280 mode names. check-in: 150306ff6d user: andrewm tags: trunk | |
17:44 | Bug fix for BME operation mode. check-in: 965f07c2f0 user: andrewm tags: trunk | |
17:08 | Finished BME 280 example application. check-in: ed4031d3c6 user: andrewm tags: trunk | |
16:32 | Changes to the rv-8803 app to accomodate changes in the weekday representation. check-in: 20de73bb1f user: andrewm tags: trunk | |
16:31 | Changed the manner in which weekday values are treated for the RV-8803. Now, 0 => sunday ... 6 => saturday. Thus the weekday value presented externally is the exponent of the power of two used internally. This makes the external view of RV-8803 time match that of the Apollo 3 RTC. check-in: 3e979afe78 user: andrewm tags: trunk | |
2025-02-18
| ||
16:52 | First cut at BME 280 sensor code and application. check-in: c95d15b9ef user: andrewm tags: trunk | |
10:41 | Copy editing. check-in: 4f28c560fc user: andrewm tags: trunk | |
2025-02-16
| ||
13:13 | Factored out a separate module to use with I2C devices. The module factors out common aspects of the I2C interface and is used by device specific I2C modules. check-in: 7669c99e9b user: andrewm tags: trunk | |
2025-02-14
| ||
20:14 | Copy editing. check-in: 2178caf4b7 user: andrewm tags: trunk | |
18:13 | Added target application to interact with the SparkFun Quiick EEPROM breakout board. check-in: 9be5b94816 user: andrewm tags: trunk | |
2025-02-13
| ||
17:39 | Added service code for an alphanumeric LED display. Added an application to exercise the display. check-in: caa80480b5 user: andrewm tags: trunk | |
00:16 | Copy editing. check-in: f41ca71fab user: andrewm tags: trunk | |
2025-02-12
| ||
16:56 | Continue to tinker with epoch time code. check-in: 07498ce1b8 user: andrewm tags: trunk | |
13:49 | Continued working on epoch time and the RV-8803 application. check-in: f32e247b6d user: andrewm tags: trunk | |
11:15 | Rename RV-8803 application code file to match Zig naming conventions for executables. check-in: ca33c848ca user: andrewm tags: trunk | |
11:11 | Additional testing of time functions using the RV-8803 as the authoritative time source. check-in: 4b46145e8d user: andrewm tags: trunk | |
10:24 | Copy editing. check-in: a42dcb905e user: andrewm tags: trunk | |
2025-02-11
| ||
20:49 | Copy editing. check-in: 05d380d675 user: andrewm tags: trunk | |
10:23 | Copy editing. check-in: 51005531fd user: andrewm tags: trunk | |
2025-02-10
| ||
20:13 | Copy editing. check-in: cc9a05b367 user: andrewm tags: trunk | |
2025-02-09
| ||
23:53 | Copy editing. check-in: 1ae52880f8 user: andrewm tags: trunk | |
15:05 | Copy editing. check-in: e1c4cc25d1 user: andrewm tags: trunk | |
2025-02-08
| ||
16:01 | Added an RV-8803 module to handle the specifics of an attached RV-8803 real time clock. Included a small application that can get and set the RV-8803. This is just a small utility that can be used for an attached RTC. Note the RTC is battery backed up and maintains accurate time/date information once set correctly. check-in: 1bff542614 user: andrewm tags: trunk | |
2025-02-06
| ||
15:21 | Additional tests for relational classes. Ensuring proper operation of reserved/activated tuples. check-in: 696207c91d user: andrewm tags: trunk | |
2025-02-04
| ||
13:49 | More name changing to bring namespace structs into line with Zig naming conventions. check-in: b6d4647819 user: andrewm tags: trunk | |
2025-02-03
| ||
16:35 | Changed all the names of the svc services and their proxies to lower case to conform to Zig naming conventions. The individual services and proxy groups are only namespace structs and cannot be instantiated. Zig convention is that type of struct is to be in snake case. check-in: 1456a5b9fd user: andrewm tags: trunk | |
00:03 | Copy editing. check-in: a02dd9ae57 user: andrewm tags: trunk | |
2025-02-02
| ||
15:38 | Bringing code base up to date with Zig version 0.14.0-dev.3026+c225b780e in preparation for the 0.14 release. Added build script steps to build the native version of the platform independent code tests. check-in: 9657cca3bc user: andrewm tags: trunk | |
12:43 | Copy editing. check-in: a8e8a8e346 user: andrewm tags: trunk | |
2025-02-01
| ||
23:52 | Minor correction to some diagrams. check-in: 69fdf7d066 user: andrewm tags: trunk | |
16:42 | This release clarifies and corrects some of the language from 3.0.0 and adds the Cortex v7e-M core access module to the book. check-in: 3da8467f76 user: andrewm tags: trunk, ctom-version-3.1.0 | |
2025-01-31
| ||
16:14 | Copy editing and code clean up. The v7m module code now has a proper literate program section for it. There were a number of name changes to be more consistent with Zig naming conventions. check-in: 2120ef48d5 user: andrewm tags: trunk | |
2025-01-30
| ||
17:19 | Copy editing. Added v7m module to the literate program. check-in: f29d3eef65 user: andrewm tags: trunk | |
2025-01-29
| ||
16:41 | Release of 3.0.0 of Code to Models. check-in: 346811d60a user: andrewm tags: trunk, ctom-version-3.0.0 | |
2025-01-28
| ||
17:19 | Copy editing and copy right updating. check-in: 8a6f451647 user: andrewm tags: trunk | |
17:15 | Fixing code callout. check-in: 7522c31cc0 user: andrewm tags: trunk | |
17:13 | Corrected a problem in startMain. In fast release mode, the function prolog allocates space on the stack and stores some data there. This was causing a memory access violation because the space allocation took place before we switched to the Process stack. The solution was to switch to the Process stack in the resetHander and then switch to unprivileged mode as the first part of startMain. This way any function prologue would be using the correct stack. check-in: a08448860c user: andrewm tags: trunk | |
17:01 | Copy editing and code refinement. check-in: f16ee7d258 user: andrewm tags: trunk | |
2025-01-27
| ||
18:04 | Copy editing. Reworked errata workaround code for the system timer to better follow the Ambiq workaround instructions. check-in: a135aa2839 user: andrewm tags: trunk | |
2025-01-26
| ||
16:55 | Changing copy right year. Removed plantuml inline diagrams and placed them into files. Added system commands to build.zig to format the plantuml files. check-in: 087cd3fed2 user: andrewm tags: trunk | |