Basic Device Protocol
CID Easy is a standart Usb/Hid (Human interface device) device . The programmers can use any standart HID libraries or OS HID services to communicate with device easily.
The device has a simple custom protocol. Application softwares must handle this protocol for communicating with the device. This protocol is related to manage of calls which stored in device memory. (Device stores raw (unparsed) call informations in own memory/queue before send its to application program.)
Communication Flows
The device send ENQuery to host application program periodicaly (about every 6-8 second).
And the app program must be response this enquery with ACK (positive acknownledge)
If any package waiting in device memory (queue structured), the device send first packege after first ACK from application. If application program receive the data-package must be answer this package with DCK (data acknownledge) or NAK. (negative acknownledge)
DCK cause clearing package from device memory. If there are any problem in package host app. can answer this query with NAK. In this case device send same package again while receiving DCK.
This steps repeated for all packages stored in device memory When the data sequence complated (all data sended waiting in queue) device send ETB (End of Transmission Block) to appliaction. Application program must answer this ETB with ACK also.
This communication flows like this :
If there are no call data in device memory this handshake flows like this :
If there are no call info, device immediatly send ETB after receiving ACK for ENQ
Note 1.: All strings must be terminated with new-line chars (CR+LF / #13#10)
Note 2.: ENQ decleration from device includes firmware version info also. Example : ENQv121045
Note 3.: When the new call occoured, device send a new ENQ to application program immediately without waiting for the timing.
Note 4 : You can analyze this protocol using any standart hid protocol analyzer.