context.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package protocol
  2. type PacketContext struct {
  3. ReceiveAddress []byte
  4. Id string
  5. ReportPower bool
  6. VICount int
  7. ReportVI bool
  8. IsReg bool
  9. VIData VIData
  10. }
  11. // SetReceiveAddress 设置接收表地址
  12. func (a *PacketContext) SetReceiveAddress(address []byte) {
  13. a.ReceiveAddress = address
  14. }
  15. // GetReceiveAddress 获取接收表地址
  16. func (a *PacketContext) GetReceiveAddress() []byte {
  17. if a.ReceiveAddress != nil {
  18. return a.ReceiveAddress
  19. }
  20. return nil
  21. }
  22. // SetId 设置表号
  23. func (a *PacketContext) SetId(id string) {
  24. a.Id = id
  25. }
  26. // GetId 获取表号
  27. func (a *PacketContext) GetId() string {
  28. return a.Id
  29. }
  30. // SetReportPower 是否上报
  31. func (a *PacketContext) SetReportPower(report bool) {
  32. a.ReportPower = report
  33. }
  34. // GetReportPower 获取是否上报
  35. func (a *PacketContext) GetReportPower() bool {
  36. return a.ReportPower
  37. }
  38. // SetReportPower 设置电压电流收集数量
  39. func (a *PacketContext) SetViCount() {
  40. c := a.VICount
  41. if c < 4 {
  42. a.VICount += 1
  43. return
  44. }
  45. if c == 4 {
  46. a.VICount = 0
  47. a.SetReportVI(true)
  48. }
  49. }
  50. // GetViCount 获取电压电流收集数量
  51. func (a *PacketContext) GetViCount() int {
  52. return a.VICount
  53. }
  54. // SetReportPower 是否上报电流电压数据
  55. func (a *PacketContext) SetReportVI(report bool) {
  56. a.ReportVI = report
  57. }
  58. // GetReportPower 获取是否上报电流电压数据
  59. func (a *PacketContext) GetReportVI() bool {
  60. return a.ReportVI
  61. }
  62. // SetIsReg 设置是否注册
  63. func (a *PacketContext) SetIsReg(isReg bool) {
  64. a.IsReg = isReg
  65. }
  66. // GetIsReg 获取是否注册
  67. func (a *PacketContext) GetIsReg() bool {
  68. return a.IsReg
  69. }
  70. // SetAV
  71. func (a *PacketContext) SetAV(value float64) {
  72. a.VIData.AV = value
  73. }
  74. // SetAI
  75. func (a *PacketContext) SetAI(value float64) {
  76. a.VIData.AI = value
  77. }
  78. // SetBV
  79. func (a *PacketContext) SetBV(value float64) {
  80. a.VIData.BV = value
  81. }
  82. // SetBI
  83. func (a *PacketContext) SetBI(value float64) {
  84. a.VIData.BI = value
  85. }
  86. // SetCV
  87. func (a *PacketContext) SetCV(value float64) {
  88. a.VIData.CV = value
  89. }
  90. // SetIsReg
  91. func (a *PacketContext) SetCI(value float64) {
  92. a.VIData.CI = value
  93. }
  94. // GetVIData
  95. func (a *PacketContext) GetVIData() VIData {
  96. return a.VIData
  97. }