You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.5 KiB
Go

package ipsc
const (
// IPSC Version Information
Version14 byte = 0x00
Version15 byte = 0x00
Version15A byte = 0x00
Version16 byte = 0x01
Version17 byte = 0x02
Version18 byte = 0x02
Version19 byte = 0x03
Version22 byte = 0x04
// Known IPSC Message Types
CallConfirmation byte = 0x05 // Confirmation FROM the recipient of a confirmed call.
TextMessageAck byte = 0x54 // Doesn't seem to mean success, though. This code is sent success or failure
CallMonStatus byte = 0x61 // |
CallMonRepeat byte = 0x62 // | Exact meaning unknown
CallMonNACK byte = 0x63 // |
XCMPXNLControl byte = 0x70 // XCMP/XNL control message
GroupVoice byte = 0x80
PVTVoice byte = 0x81
GroupData byte = 0x83
PVTData byte = 0x84
RPTWakeUp byte = 0x85 // Similar to OTA DMR "wake up"
UnknownCollision byte = 0x86 // Seen when two dmrlinks try to transmit at once
MasterRegistrationRequest byte = 0x90 // FROM peer TO master
MasterRegistrationReply byte = 0x91 // FROM master TO peer
PeerListRequest byte = 0x92 // From peer TO master
PeerListReply byte = 0x93 // From master TO peer
PeerRegistrationRequest byte = 0x94 // Peer registration request
PeerRegistrationReply byte = 0x95 // Peer registration reply
MasterAliveRequest byte = 0x96 // FROM peer TO master
MasterAliveReply byte = 0x97 // FROM master TO peer
PeerAliveRequest byte = 0x98 // Peer keep alive request
PeerAliveReply byte = 0x99 // Peer keep alive reply
DeregistrationRequest byte = 0x9a // Request de-registration from system
DeregistrationReply byte = 0x9b // De-registration reply
// Link Type Values
LinkTypeIPSC byte = 0x04
)
var AnyPeerRequired = map[byte]bool{
GroupVoice: true,
PVTVoice: true,
GroupData: true,
PVTData: true,
CallMonStatus: true,
CallMonRepeat: true,
CallMonNACK: true,
XCMPXNLControl: true,
RPTWakeUp: true,
DeregistrationRequest: true,
}
var PeerRequired = map[byte]bool{
PeerAliveRequest: true,
PeerAliveReply: true,
PeerRegistrationRequest: true,
PeerRegistrationReply: true,
}
var MasterRequired = map[byte]bool{
PeerListReply: true,
MasterAliveReply: true,
}
var UserGenerated = map[byte]bool{
GroupVoice: true,
PVTVoice: true,
GroupData: true,
PVTData: true,
}