Commit graph

33 commits

Author SHA1 Message Date
Jonathan Barrow
0c4508e64f
All relevant methods now return errors, and all errors are now checked 2023-06-07 23:12:13 -04:00
Daniel López Guimaraes
6eac68ab1a
Add Bytes() to Variant and minor changes
In order to implement the stream properly, add ReadFloat64LE() to
StreamIn and other required functions for the Variant.
2023-06-05 20:09:31 +01:00
Daniel López Guimaraes
98fc727028
Add HPP protocol support
Implement an HTTP server that supports HPP requests, and add a fake
packet `HPPPacket` that allows interaction with existing code.

The `RMCResponse` won't write the protocol ID bytes if it's set to zero.
This allows support for HPP, as the RMC responses of this protocol don't
include the protocol ID.
2023-04-23 16:00:28 +01:00
Daniel López Guimaraes
c7ce81502e
Fix RMCRequest parameters
Don't use a fixed value to get the parameters, as a custom ID can extend
the header size and cause issues when reading the parameters. Get the
offset dynamically instead.
2023-03-25 22:56:46 +00:00
Jonathan Barrow
b010f6d2aa
Fixed all incorrect Godoc comments 2023-01-01 13:51:53 -05:00
Daniel López Guimaraes
74a72fc436
Fix comments
I left that one behind
2022-12-13 20:53:05 +00:00
Daniel López Guimaraes
246bbb195e
Fix comments 2022-12-13 20:51:33 +00:00
Daniel López Guimaraes
d50cb48ef3
Add RMCResponse getter and setter for Custom ID 2022-12-13 20:35:58 +00:00
Jonathan Barrow
40d9a38679 moved error mask to errors.go 2022-04-15 10:05:05 -04:00
Jonathan Barrow
8be2d8bca2 Moved all source files back to root 2022-03-29 00:15:55 -04:00
Jonathan Barrow
a2d673a235 Moving to Go modules 2022-03-27 19:59:17 -04:00
Jonathan Barrow
6aaec63fa8 Updated RMCRequest to be more dynamic 2021-10-30 00:07:46 -04:00
shutterbug2000
202a288ecd Changes for MK7 2021-10-13 20:38:44 +01:00
Jonathan Barrow
b7a12dac4e Added RMC error mask check 2021-09-28 19:14:53 -04:00
Jonathan Barrow
f78cd960d8 Changed getters to be more Go-like
Removed "Get" prefix from getters to conform to effective Go standards
2020-04-19 21:40:04 -04:00
Jonathan Barrow
7eb473a621 Added data check to RMC response
Some nex methods return no data
2020-04-19 12:01:13 -04:00
Jonathan Barrow
db9e11b15c fixed type issues and extra Grow call
Fixed some typing issues and removed an extra Grow call which broke packet encoding
2020-02-16 18:30:10 -05:00
Jonathan Barrow
1d690de84d New StreamOut API
StreamOut now has an abstraction layer to clean up some method calls from crunch
2020-02-16 17:42:03 -05:00
Jonathan Barrow
667f4a07e9 New StreamIn API
StreamIn now has an abstraction layer to clean up some method calls from crunch
2020-02-16 17:18:17 -05:00
Jonathan Barrow
17208659c4 Error handling and data validation
Now validates data before passing it to crunch in order to avoid buffer read/write out of bounds panics. This API update is breaking and all code using it will need to be updated
2020-01-31 02:50:23 -05:00
Jonathan Barrow
8ab25b0f16 new stream implementation and Structure type handling
Split the Stream struct into 2 separate stream types for clearer intent. Also now pass them a reference to the server pointer to access server config (namely the NEX minor version)

Structure NEX types are now being implemented (a push to nex-protocols-go will follow shortly). However the implementation is pretty jank and could use some work. Currently uses emulated inheritance
2020-01-26 21:38:33 -05:00
Jonathan Barrow
d8804c76f9 Update rmc.go 2020-01-18 23:36:52 -05:00
Jonathan Barrow
8e489e4165 Complete rewrite 2020-01-17 12:42:59 -05:00
Adele Reed
6d516d160d Replace used bytes.Buffers with crunch buffers 2019-08-11 22:21:10 -07:00
Adele Reed
582c07a95c Refactor rmc to use crunch instead of streams 2019-08-11 16:03:28 -07:00
Ezekiel Bethel
b564a9c890 +1 -> +4 in RMCResponse.Bytes() 2019-01-15 22:40:08 +00:00
Ezekiel Bethel
dfa28c0be0 Fix RMC sizes being off by 4, fix acks missing their signatures. 2019-01-15 21:53:13 +00:00
RedDuckss
4817764086 Made RMC requests stream based 2018-10-08 20:05:29 -04:00
RedDuckss
126a1016cb Minor updates 2018-09-25 10:10:20 -04:00
RedDuckss
c19f0e7dda It work now 2018-09-18 22:05:12 -04:00
RedDuckss
d0138036ed RMC fixes and README updated 2018-09-18 19:22:25 -04:00
SuperMarioDaBom
acfc4c10c6 Quick patch - Added OR by 0x80 to ProtocolID in RMC 2018-09-17 23:16:36 -07:00
RedDuckss
2f60727e4e restructure and, rewrite. Things do things now 2018-09-18 00:25:31 -04:00
Renamed from rmc/response.go (Browse further)