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`. sets of parameters. The primary parameter file is `src/cwtest/cfg/main.cfg`.
# MIDI # MIDI - MIDI Device Manager
CLI Label | Source File | Function 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 generated by the device to the actual time between the events in the
MIDI file. 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 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. 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. 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`. 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
``` CLI Label | Source File | Function
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg websockSrv ------------------|----------------------|---------------------
``` websockSrv | cwWebSockSvr.cpp | websockSrvTest()
See `websockSrvTest()` in `cwWebSockSvr.cpp`.
Interactive websocket server testing application. Interactive websocket server testing application.
Run the app and navigate in a web browser to `localhost:5687` to run the 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
``` CLI Label | Source File | Function
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg nbmpscQueue ------------------|----------------------|---------------------
``` nbmpscQueue | nbmpscQueue.cpp | test()
See `test()` in cwNbMpScQueue.cpp.
Run the non-blocking, multiple producer, single consumer queue for 'testDurMs' millisecdons 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 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
``` CLI Label | Source File | Function
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg audioDevAlsa ------------------|-----------------------|---------------------
``` audioDevAlsa | cwAudioDeviceAlsa.cpp | report()
See `report()` in `cwAudioDeviceAlsa.cpp`.
Generate a list of devices and device attributes directly from the ALSA sub-system. Generate a list of devices and device attributes directly from the ALSA sub-system.
## audioDevRpt CLI Label | Source File | Function
``` ------------------|----------------------|---------------------
cwtest ~/src/cwtest/src/cwtest/cfg/main.cfg audioDevRpt audioDevRpt | cwAudioDevice.cpp | report
```
See `report()` in `cwAudioDevice.cpp`.
Generate a list of devices and device attributes from libcw. This will include audio file based devices. 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 CLI Label | Source File | Function
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. 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 # IO Interface
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
------------------|----------------------|---------------------
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()