GPS :: Lowrance :: LSI

GPS :: Lowrance :: LSI is een LowRance Serial Interface Protocol-module in Perl.
Download nu

GPS :: Lowrance :: LSI Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Robert Rothenberg
  • Uitgever website:
  • http://search.cpan.org/~rrwo/

GPS :: Lowrance :: LSI Tags


GPS :: Lowrance :: LSI Beschrijving

GPS :: Lowrance :: LSI is een Lowrance Serial Interface Protocol-module in Perl. GPS :: LowRance :: LSI is een LowRance Serial Interface Protocol-module in Perl.Synopsis Gebruik Win32 :: Serialport; # of apparaat :: Serialport (?) Gebruik GPS :: Lowrance :: LSI 'LSI_QUERY'; Mijn $ poort = nieuwe Win32 :: Serialport ('COM1'); My $ Data = LSI_QUERY ($ poort, 0x30e, "", 0); deze module biedt een zeer lage ondersteuning voor de LSI (Lowrance Serial Interface) 100-protocol die wordt gebruikt om te communiceren met LowRance en Eagle GPS-apparaten. (Functies op hoger niveau en Wrappers voor specifieke opdrachten worden in andere modules verstrekt. Deze module is opzettelijk eenvoudig gehouden.) FunctionsLSI_Query $ data_out = LSI_QUERY ($ poort, $ cmd, $ data_in, $ ID, $ debug, $ timeout, $ opnieuw proberen); deze methode Brengt een LSI-querystraf (met de opdracht- en invoergegevens) aan op een GPS die is aangesloten op het apparaat dat is opgegeven door seriële poort bij $ poort. (Zie de LSI-specificatie op de LowRance- of Eagle-websites voor de specifieke opdrachtcodes.) Wacht dan $ Time-out seconden (standaard tot 5) voor een reactie. Als er geen reactie is, retourneert het undef.otherwise, het verifieert dat het antwoord goed is gevormd en de gegevens retourneert. Als het opnieuw proberen groter is dan nul, dan zal het de vraag van de query $ opnieuw proberen als er een slechte controlesom is of als er een time-out is. (Als de checksum tijdens het falen of reacties blijft, zal het undeve retourneren.) Een waarde van -1 voor $ retry veroorzaakt slechte checksums die moeten worden genegeerd. De waarde van de $ ID is "gereserveerd" en moet worden ingesteld op 0.De eerste 8 -Bytes van de geretourneerde gegevens is de responskop. Het formaat van de rest van de gegevens is afhankelijk van de opdracht. Als de foutopsporing true is, wordt debugging-informatie weergegeven. Verifieer_checksum if (verifieer_checksum ($ gegevens)) {...} Gebruikt om het controlesom in de gegevens te verifiëren. De laatste byte van geretourneerde gegevens is het controlesom van de data.noot dat "LSI_QUERY" de initiële 8-byte bevestigingskoper met eventuele gegevens retourneert. Dus om gegevens te verifiëren die door die functie worden geretourneerd: if (verify_checksum (substr ($ gegevens, 8))) {...} De query-functie verifieert al gegevens die door de query worden geretourneerd. Het is dus niet nodig om de data.lsi_checksum $ chksum = lsi_checksum ($ gegevens) opnieuw te controleren; gebruikt om 8-bits checksums in gegevens te berekenen. Dit is over het algemeen een interne routine, maar aangezien "LSI_QUERY" RAW-gegevens beschikbaar maakt, is dit handig.Explesan voorbeeld van het gebruik van deze module om productinformatie hieronder te gebruiken: Gebruik GPS :: Lowrance :: LSI; Gebruik Parse :: Binary :: Snelformat; $ INFOREC = NIEUW PARSE :: Binary :: Snelformat ; # We gaan ervan uit dat $ poort al is geïnitialiseerd naar een seriële poort met # Win32 :: Serialport of Device :: Serialport $ BUFF = LSI_QUERY ($ poort, 0x30e); $ Info = $ Inforec-> Unformat (substr ($ buff, 8)); een werkende implementatie van dit voorbeeld is te vinden in het bestand, bijvoorbeeld / getinfo.pl opgenomen met deze distributie. Vereisten: · Perl


GPS :: Lowrance :: LSI Gerelateerde software