@@ -14,10 +14,11 @@ Library _aoosp_ is at the heart of the dependency graph.
1414
1515It contains functions to construct telegrams (byte arrays) to be send to OSP nodes.
1616It also contains functions to destruct response telegrams received back from OSP nodes.
17- Both functions are hidden behind the API; the API allows sending and receiving telegrams.
17+ Both functions are hidden behind the API; the API allows sending and receiving telegrams,
18+ which involves constructing, transmit-out, transmit-in and destructing.
1819
19- For telegram transmit this library relies on a communications layer, typically _ aospi_ .
20- That library expects a board like ** OSP32** .
20+ For telegram transmission this library relies on a communications layer, typically _ aospi_ .
21+ That library expects a board like the ** OSP32** board in the evaluation kit .
2122
2223![ aoosp in context] ( extras/aolibs-aoosp.drawio.png )
2324
@@ -40,7 +41,7 @@ File > Examples > OSP Telegrams aoosp > ...
4041
4142- ** aoosp_topo**
4243 This demo scans all nodes and prints out the chain configuration:
43- comms for both SIOs, dir, state, number of RGBs and I2C .
44+ comms for both SIOs, direction, power state, number of RGBs and I2Cs .
4445
4546- ** aoosp_error**
4647 This demo shows how error handling works in SAID. The STAT register has
@@ -56,22 +57,23 @@ File > Examples > OSP Telegrams aoosp > ...
5657
5758- ** aoosp_i2c**
5859 This demo first performs an I2C scan using the I2C bridge in a SAID.
59- Then it issues I2C read and write transactions to an EEPROM memory.
60+ Then it issues I2C read and write transactions to an EEPROM memory,
6061 assumed to have I2C device address 0x50 connected to the first SAID.
6162 Finally it polls the INT line and shows its status on SAID1.RGB0.
6263
6364- ** aoosp_otp**
64- This demo reads and writes from/to the OTP of a SAID.
65+ This demo reads and writes from/to the OTP (one time programmable
66+ memory) of a SAID.
6567
6668- ** aoosp-sync**
6769 This demo shows how to use the SYNC feature; a feature that switches on all
6870 LEDs at the same time. We first enable (channels) of nodes for SYNC
6971 (AOOSP_CURCHN_FLAGS_SYNCEN). Next, set those channels to some PWM value.
7072 Finally we issue a SYNC by broadcasting the SYNC telegram. This makes
7173 all (channels) of all nodes that are configured for SYNC to activate their
72- PWM settings.
74+ PWM settings. It is also possible to pulse a pin as hardware SYNC.
7375
74- - ** aoosp_time**
76+ - ** aoosp_time**
7577 This demo sends a series of telegrams. The series originally comes from
7678 ` aomw_topo_build ` . We measure how long it takes to run that series.
7779 Once we use the high level aoosp API, and once we use low level aospi API.
@@ -89,10 +91,10 @@ This library contains 4 modules, see figure below (arrows indicate #include).
8991
9092- ** aoosp_prt** (` aoosp_prt.cpp ` and ` aoosp_prt.h ` ) is a slightly bigger module that implements
9193 several functions to pretty print telegrams. It is normally not used in production code.
92- It is extensively used by the logging feature of module aoosp_send.
94+ It is extensively used by the logging feature of module ` aoosp_send ` .
9395
9496- ** aoosp_send** (` aoosp_send.cpp ` and ` aoosp_send.h ` ) is the _ core_ module of the library.
95- It contains functions the send commands and receive the responses if there is any.
97+ It contains functions that send commands and receive the responses if there is any.
9698 The module supports both RGBi's and SAIDs. Not all telegrams are implemented yet.
9799 The module is stateless, with one exception: it records if logging is enabled or disabled.
98100
@@ -117,7 +119,7 @@ The headers contain little documentation; for that see the module source files.
117119
118120### aoosp
119121
120- - ` aoosp_init() ` not really needed, but added for forward compatibility.
122+ - ` aoosp_init() ` not really needed (aoosp has no state to init) , but added for forward compatibility.
121123- ` AOOSP_VERSION ` identifies the version of the library.
122124
123125
@@ -131,16 +133,18 @@ The headers contain little documentation; for that see the module source files.
131133Contains several functions to print telegram fields more user friendly. Examples are:
132134
133135- ` aoosp_prt_temp_said() ` to convert a SAID raw temperature to Celsius.
134- - ` aoosp_prt_stat_state() ` to convert a node state to a string.
136+ - ` aoosp_prt_stat_state() ` to convert a node stat to a string describing the power state .
135137- ` aoosp_prt_bytes() ` to convert a byte array (like a telegram) to a string.
138+ - ...
136139
137140These functions are publicly accessible, but are intended for logging in this library.
138141
139142Warning: pretty print functions that return a ` char * ` all use the same global
140143character buffer for returning the string. This means that only _ one_ such function
141- can be used at a time. For example this will not work:
144+ can be used at a time. For example this will _ not_ work:
145+
142146```
143- printf("%s-%s", aoosp_prt_stat_rgbi(x), aoosp_prt_stat_said(x) )
147+ printf("%s-%s", aoosp_prt_stat_rgbi(x), aoosp_prt_stat_said(x) ); // ERROR: double prt
144148```
145149
146150
@@ -152,11 +156,12 @@ Examples are
152156- ` aoosp_send_reset() ` resets all nodes in the chain (all "off"; they also lose their address).
153157- ` aoosp_send_initloop() ` assigns an address to each node; also configures all nodes for Loop.
154158- ` aoosp_send_clrerror() ` clears the error flags of the addressed node.
155- - ` aoosp_send_goactive() ` switches the state of the addressed node to active.
156- - ` aoosp_send_readpwmchn() ` asks the addressed node to respond with its PWM settings of one of its channel.
159+ - ` aoosp_send_goactive() ` switches the power state of the addressed node to active ("on").
160+ - ` aoosp_send_setpwmchn() ` configures the PWM settings of one channel of the addressed node ("lit").
161+ - ...
157162
158163This module supports logging.
159- Via ` aoosp_loglevel_set() ` and ` aoosp_loglevel_get() ` the log level can be manipulated :
164+ Via ` aoosp_loglevel_set() ` and ` aoosp_loglevel_get() ` the log level can be managed :
160165
161166- ` aoosp_loglevel_none ` nothing is logged (default).
162167- ` aoosp_loglevel_args ` logging of sent and received telegram arguments.
@@ -169,8 +174,8 @@ Some operations on OSP nodes require multiple telegrams.
169174Some frequent ones have been abstracted in this module.
170175
171176- ` aoosp_exec_resetinit() ` sends RESET and INIT telegrams, auto detecting BiDir or Loop.
172- - ` aoosp_exec_otpdump() ` reads the entire OTP and prints details requested in flags.
173- - ` aoosp_exec_setotp() ` updates one bye in OTP.
177+ - ` aoosp_exec_otpdump() ` reads the entire OTP (mirror) and prints details requested in flags.
178+ - ` aoosp_exec_setotp() ` updates one byte in the OTP (mirror) .
174179- ` aoosp_exec_i2cenable_get() ` reads the I2C_BRIDGE_EN bit in OTP (mirror).
175180- ` aoosp_exec_i2cenable_set() ` writes the I2C_BRIDGE_EN bit in OTP (mirror).
176181- ` aoosp_exec_i2cpower() ` checks if the SAID has an I2C bridge, if so, powers the I2C bus.
@@ -182,9 +187,16 @@ Some frequent ones have been abstracted in this module.
182187
183188## Version history _ aoosp_
184189
190+ - ** 2024 aug 9, 0.3.1**
191+ - Typos fixed in ` aoosp_send.cpp ` .
192+ - In ` aoosp_send.h ` cleaned up ` AOOSP_ADDR_xxx ` .
193+ - Typos fixed in ` readme.md ` , ` aoosp.cpp ` , ` aoosp_crc.cpp ` , ` aoosp_exec.h ` .
194+ - Typos fixed in ` aoosp_i2c.ino ` , ` aoosp_sync.ino ` , ` aoosp_topo.ino ` .
195+ - Typos fixed in ` aoosp_exec.cpp ` .
196+
185197- ** 2024 August 5, 0.3.0**
186- - In ` aoosp_send.h ` all non-implemented TID tagged as not-yet-implemented or reserved.
187- - Corrected link to GitHub from aotop to OSP_aotop.
198+ - In ` aoosp_send.h ` all non-implemented TIDs tagged as not-yet-implemented or reserved.
199+ - Corrected link to GitHub from aotop to ` OSP_aotop ` .
188200 - Remove "oalib" from ` sentence= ` in ` library.properties ` .
189201 - Added ` #include "../../said-password.h" ` .
190202 - Added ` aoosp_exec_syncpinenable_get() ` and ` aoosp_exec_syncpinenable_set() ` and hw sync in ` aoosp_sync.ino ` .
0 commit comments