Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
b3fb13b7b3 | |||
dde1411b18 |
@ -9,12 +9,13 @@ func (resp Resp) Check() bool {
|
||||
}
|
||||
|
||||
func (resp Resp) RmFront(str string) Resp {
|
||||
if !resp.Check() {
|
||||
return RespNil
|
||||
}
|
||||
return Resp(string(resp)[len(str):])
|
||||
}
|
||||
|
||||
func (resp Resp) CheckFront(str string) bool {
|
||||
return len(resp) >= len(str) && resp[:len(str)].String() == str
|
||||
}
|
||||
|
||||
func (resp Resp) String() string {
|
||||
return string(resp)
|
||||
}
|
||||
|
@ -49,9 +49,10 @@ func (g *gps) Update() error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("receive GPS data: %w", err)
|
||||
}
|
||||
if !resp.Check() {
|
||||
if !resp.Check() || !resp.CheckFront("+CGPSINFO:") {
|
||||
return fmt.Errorf("get GPS info: error response: %s", resp)
|
||||
}
|
||||
|
||||
if err := g.data.decode(strings.Split(strings.Replace(resp.RmFront("+CGPSINFO:").String(), "\r", "", -1), "\n")[0]); err != nil {
|
||||
g.logger.Printf("error decode: %s\n", err.Error())
|
||||
}
|
||||
@ -86,7 +87,7 @@ func (g *gps) switchGpsMode(on bool) error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("make at ask: %w", err)
|
||||
}
|
||||
if !resp.Check() {
|
||||
if !resp.Check() || !resp.CheckFront("+CGPS:") {
|
||||
return fmt.Errorf("get GPS mode: error response: %s", resp)
|
||||
}
|
||||
ans := strings.Replace(strings.Split(strings.Split(resp.RmFront("+CGPS:").String(), "\n")[0], ",")[0], " ", "", -1)
|
||||
|
@ -112,19 +112,19 @@ func (m *modem) Init() error {
|
||||
// submodulesLogger := io.Discard // FOR less logs
|
||||
|
||||
m.logger.Println("=============================== Init submodules")
|
||||
m.ic = internet.New(log.New(submodulesLogger, "modem-internet : ", log.LstdFlags), m.port)
|
||||
if err := m.ic.Init(); err != nil {
|
||||
m.logger.Printf("\x1b[38;2;255;0;0mInternet: %s\x1b[38;2;255;255;255m\n", err.Error())
|
||||
} else {
|
||||
m.logger.Println("\x1b[38;2;0;255;0mInternet OK\x1b[38;2;255;255;255m")
|
||||
}
|
||||
|
||||
m.sms = sms.New(log.New(submodulesLogger, "modem-sms : ", log.LstdFlags), m.port)
|
||||
if err := m.sms.Init(); err != nil {
|
||||
m.logger.Printf("\x1b[38;2;255;0;0mSMS: %s\x1b[38;2;255;255;255m\n", err.Error())
|
||||
} else {
|
||||
m.logger.Println("\x1b[38;2;0;255;0mSMS OK\x1b[38;2;255;255;255m")
|
||||
}
|
||||
//m.ic = internet.New(log.New(submodulesLogger, "modem-internet : ", log.LstdFlags), m.port)
|
||||
//if err := m.ic.Init(); err != nil {
|
||||
// m.logger.Printf("\x1b[38;2;255;0;0mInternet: %s\x1b[38;2;255;255;255m\n", err.Error())
|
||||
//} else {
|
||||
// m.logger.Println("\x1b[38;2;0;255;0mInternet OK\x1b[38;2;255;255;255m")
|
||||
//}
|
||||
//
|
||||
//m.sms = sms.New(log.New(submodulesLogger, "modem-sms : ", log.LstdFlags), m.port)
|
||||
//if err := m.sms.Init(); err != nil {
|
||||
// m.logger.Printf("\x1b[38;2;255;0;0mSMS: %s\x1b[38;2;255;255;255m\n", err.Error())
|
||||
//} else {
|
||||
// m.logger.Println("\x1b[38;2;0;255;0mSMS OK\x1b[38;2;255;255;255m")
|
||||
//}
|
||||
|
||||
m.gps = gps.New(log.New(submodulesLogger, "modem-gps : ", log.LstdFlags), m.port)
|
||||
if err := m.gps.Init(); err != nil {
|
||||
|
21
main.go
21
main.go
@ -18,6 +18,7 @@ func main() {
|
||||
func mainE() error {
|
||||
logger := log.New(os.Stdout, "main : ", log.LstdFlags)
|
||||
m := modem.New(log.New(logger.Writer(), "modem : ", log.LstdFlags))
|
||||
|
||||
logger.Println("||||||||||||||||| INIT |||||||||||||||")
|
||||
if err := m.Init(); err != nil {
|
||||
logger.Println("Init ended with error:", err.Error())
|
||||
@ -34,20 +35,24 @@ func mainE() error {
|
||||
logger.Println("AAAAAAAAAAAAAAA Modem is not connected")
|
||||
return nil
|
||||
}
|
||||
// m.PowerOff()
|
||||
// time.Sleep(10 * time.Second)
|
||||
// m.PowerOn()
|
||||
|
||||
logger.Println("||||||||||||||||| GET INFO |||||||||||||||||")
|
||||
logger.Println(m.Update())
|
||||
logger.Printf("DATA: %+v\n", m.GetData())
|
||||
|
||||
logger.Println("||||||||||||||||| SEND SMS |||||||||||||||||")
|
||||
logger.Println(m.At().Send("AT+CNUM"))
|
||||
// if err := m.Sms().Send("+79218937173", "CGSG forever"); err != nil {
|
||||
// logger.Println("||||||||||||||||| SEND SMS |||||||||||||||||")
|
||||
// logger.Println(m.At().Send("AT+CNUM"))
|
||||
// // if err := m.Sms().Send("+79218937173", "CGSG forever"); err != nil {
|
||||
// // return err
|
||||
// // }
|
||||
// if ms, err := m.Sms().ReadNew(); err != nil {
|
||||
// return err
|
||||
// } else {
|
||||
// logger.Println("NEW:", ms)
|
||||
// }
|
||||
if ms, err := m.Sms().ReadNew(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
logger.Println("NEW:", ms)
|
||||
}
|
||||
logger.Println("||||||||||||||||| Checking gps status |||||||||||||||||")
|
||||
st, err := m.Gps().GetStatus()
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user