Ik probeer al aardig wat daagjes onder linux data uit te lezen uit een zo genaamde FlexBox.
Een P2000 ( brandweer, ambulance e.d. paging systeem ) ontvanger waar een zgn discriminatoruitgang op zit en middels een 2-level FSK Interface (Hamcomm modem) ruwe data uitpoept op de CTS pin van de seriele poort.
http://www.discriminator.nl/hamcomm/index.html
Een quote van een ander forum vandaan over het signaal:
De normale manieren op met c++ onder linux data uit te lezen uit de seriele poort werken niet, komt geen enkele byte voorbij.
int fd = open("/dev/ttyS0", .....);
read(fd, buf, 1024);
Ook via tools als minicom geprobeerd, komt geen data uit.
Het appraat gebruikt dus niet de normale standaard manieren om communicatie via seriele poort te doen.
Onder dos is er een applicatie genaamd POCFLEX beschikbaar die dit kan.
Originele (dos) Borland C++ code van 'POCFLEX': ( vieze code!!)
http://www.kernelcoders.com/flex.txt
Ik ben maar begonnen met diverse pogingen om deze source gedeeltelijk om te schrijven naar gnu c, zonder suc6.
Of ik krijg 0 bytes terug, of het zijn segmentation faults.
Zelfs het compilen van de originele POCFLEX source onder dos met Borland Turbo C++ 3.0 geeft een executable die alleen maar Abnormal Program Termination kan zeggen.
Heeft er iemand ervaring hoe je onder linux zoiets als dit kan doen?
Een P2000 ( brandweer, ambulance e.d. paging systeem ) ontvanger waar een zgn discriminatoruitgang op zit en middels een 2-level FSK Interface (Hamcomm modem) ruwe data uitpoept op de CTS pin van de seriele poort.
http://www.discriminator.nl/hamcomm/index.html
Een quote van een ander forum vandaan over het signaal:
Hier ben ik dus al enige dagen mee bezig om onder linux deze ruwe data uit te lezen om dan te decoden naar de paging meldingen die langs komen.Het FLEX-signaal wordt rechtstreeks en zonder aan de UART gerelateerde timing aan CTS aangeboden.
Er zijn globaal twee manieren om de CTS-poort te bemonsteren:
1. Laat een timer een aantal keer per bittijd een interrupt genereren. Bekijk in de interruptroutine de status van CTS.
2. Laat een timer lopen. Zorg ervoor dat een verandering van CTS een interrupt genereert. Lees de timer uit en reset deze.
De normale manieren op met c++ onder linux data uit te lezen uit de seriele poort werken niet, komt geen enkele byte voorbij.
int fd = open("/dev/ttyS0", .....);
read(fd, buf, 1024);
Ook via tools als minicom geprobeerd, komt geen data uit.
Het appraat gebruikt dus niet de normale standaard manieren om communicatie via seriele poort te doen.
Onder dos is er een applicatie genaamd POCFLEX beschikbaar die dit kan.
Originele (dos) Borland C++ code van 'POCFLEX': ( vieze code!!)
http://www.kernelcoders.com/flex.txt
Ik ben maar begonnen met diverse pogingen om deze source gedeeltelijk om te schrijven naar gnu c, zonder suc6.
Of ik krijg 0 bytes terug, of het zijn segmentation faults.
Zelfs het compilen van de originele POCFLEX source onder dos met Borland Turbo C++ 3.0 geeft een executable die alleen maar Abnormal Program Termination kan zeggen.
Heeft er iemand ervaring hoe je onder linux zoiets als dit kan doen?
