README.md : Updates

This commit is contained in:
kevin 2024-12-01 14:49:35 -05:00
parent c9a0bc2024
commit ec11f12442

111
README.md
View File

@ -34,7 +34,7 @@ functions, or build simple utilities based on them, with a flexible
sets of parameters. The primary parameter file is `src/cwtest/cfg/main.cfg`.
# MIDI
# MIDI - MIDI Device Manager
CLI Label | Source File | Function
------------------|----------------------|--------------
@ -52,77 +52,112 @@ latency of the device by comparing the time between MIDI events as
generated by the device to the actual time between the events in the
MIDI file.
## Serial
CLI Label | Source File | Function
------------------|----------------------|--------------
midifile | cwMidiFile.cpp | test()
MIDI file utility parameters:
Convert a MIDI file to a CSV file.
```
csv: { midiFn:<filename> csvFn:<filename> }
```
Print the first <msgCnt> MIDI messages from a file.
```
rpt_beg_end: { midi_fname:<filenae>, msgCnt:<int>, note_on_only_fl:<true|false> }
```
Print the entire contents of the MIDI file.
```
rpt : { midiFn:<filename> }
```
Convert all the MIDI files in the folder: `<path>/<folder>/take/'record_%i'` to CSV files
```
batch_convert: { io_dir:<path>, session_dir:<folder>, take_begin:<int>, take_end:<int> print_warnings_flag:<true|false> }
```
## Serial - Serial Port Manager
CLI Label | Source File | Function
------------------|----------------------|---------------------
serialSrv | cwSerialPortSrv.cpp | esrialPortSrvTest()
serialSrv | cwSerialPortSrv.cpp | sesrialPortSrvTest()
This is an interactive test of the serial port send/receive functions.
The function continuously transmits ASCII values '0' through 'z' to external devices `/dev/ttyACM0` and '/dev/ttyACM1`.
The function continuously transmits ASCII values '0' through 'z' to external devices `/dev/ttyACM0` and `/dev/ttyACM1`.
Those devices should increment the received value and send it back, where it is receieved and printed to the console.
Firmware to run on ATMEGA328 based devices, like the Arduino Uno, is provided in `study/serial/arduino_xmt_recv/main.c`.
## wesockSrv
## wesockSrv - Web Sockets Server
```
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg websockSrv
```
CLI Label | Source File | Function
------------------|----------------------|---------------------
websockSrv | cwWebSockSvr.cpp | websockSrvTest()
See `websockSrvTest()` in `cwWebSockSvr.cpp`.
Interactive websocket server testing application.
Run the app and navigate in a web browser to `localhost:5687` to run the application.
## nbmpscQueue
## nbmpscQueue - Non-Blocking Multiple Producer Single Consumer Queue
```
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg nbmpscQueue
```
See `test()` in cwNbMpScQueue.cpp.
CLI Label | Source File | Function
------------------|----------------------|---------------------
nbmpscQueue | nbmpscQueue.cpp | test()
Run the non-blocking, multiple producer, single consumer queue for 'testDurMs' millisecdons
and write the result into 'out_fname'. This is the queue used by the websocket implementation
(See cwWebSock) to support incoming calls form multiple threads without blocking the calling threads.
(See cwWebSock.h/cpp) to support incoming calls form multiple threads without blocking the calling threads.
## audioDevAlsa
# Audio
```
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg audioDevAlsa
```
See `report()` in `cwAudioDeviceAlsa.cpp`.
CLI Label | Source File | Function
------------------|-----------------------|---------------------
audioDevAlsa | cwAudioDeviceAlsa.cpp | report()
Generate a list of devices and device attributes directly from the ALSA sub-system.
## audioDevRpt
```
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg audioDevRpt
```
See `report()` in `cwAudioDevice.cpp`.
CLI Label | Source File | Function
------------------|----------------------|---------------------
audioDevRpt | cwAudioDevice.cpp | report
Generate a list of devices and device attributes from libcw. This will include audio file based devices.
# Socket
## socketUdp
CLI Label | Source File | Function
---------------------|----------------------|---------------------
socketMgrSrvTest | cwSocket | mainTest()
socketMgrClientTest | cwSocket | mainTest()
See test_udp() in `cwTcpSocketTest.cpp`.
Interactive socket based client/server application.
Start `socketMgrSrvTest` in one process, then `socketMgrClientTest`
in a second processor.
Interactive send/recv tester for UDP based sockets. This tester can work across machines or
on a single machine specifying '127.0.0.1' (localhost) as the remote address and choosing different
port numbers for the remote and local address.
CLI Label | Source File | Function
------------------|----------------------|---------------------
dirEntry | cwFileSys.cpp | dirEntryTest()
## socketUdp
Exercise the directory reader.
See test_udp() in `cwTcpSocketTest.cpp`.
Interactive send/recv tester for TCP based sockets. This tester can work across machines or
on a single machine specifying '127.0.0.1' (localhost) as the remote address and choosing different
port numbers for the remote and local address.
# IO Interface
CLI Label | Source File | Function
------------------|----------------------|---------------------
io_minimal | cwIoMinTest.cpp | min_test()
cwIoMinTest.cpp gives minimal template for an interactive application based on cwIo.h/cpp.
CLI Label | Source File | Function
------------------|----------------------|---------------------
io | cwIoTest.cpp | test()