modem.go 925 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package netmgrd
  2. import (
  3. modem1 "hnyfkj.com.cn/rtu/linux/air720u"
  4. modem2 "hnyfkj.com.cn/rtu/linux/ec200u"
  5. )
  6. type ModemType int
  7. const (
  8. Unknown ModemType = iota
  9. Air720U // 合宙4G调制解调器, 注册网卡名为"eth2"
  10. EC200U // 移远4G调制解调器, 注册网卡名为"usb0"
  11. )
  12. var (
  13. curModemType ModemType
  14. )
  15. func (m ModemType) String() string {
  16. switch m {
  17. case Air720U:
  18. return "合宙"
  19. case EC200U:
  20. return "移远"
  21. default:
  22. return "未知"
  23. }
  24. }
  25. func ModemInit() bool {
  26. if modem1.ModuleInit(false) {
  27. curModemType = Air720U
  28. return true
  29. } else {
  30. modem1.ModuleExit()
  31. }
  32. if modem2.ModuleInit(false) {
  33. curModemType = EC200U
  34. return true
  35. } else {
  36. modem2.ModuleExit()
  37. }
  38. return false
  39. }
  40. func ModemExit() {
  41. switch curModemType {
  42. case Air720U:
  43. modem1.ModuleExit()
  44. case EC200U:
  45. modem2.ModuleExit()
  46. }
  47. }
  48. func GetCurModemType() ModemType {
  49. return curModemType
  50. }