README.md : Updates
This commit is contained in:
parent
c9a0bc2024
commit
ec11f12442
111
README.md
111
README.md
@ -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()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user