Some debug.
This commit is contained in:
parent
6498d20378
commit
061ba2a859
@ -10,7 +10,7 @@ func (g *gps) CheckStatus() error {
|
|||||||
// Provides more information about signal and possible problems using NMEA reports
|
// Provides more information about signal and possible problems using NMEA reports
|
||||||
|
|
||||||
// Collect reports
|
// Collect reports
|
||||||
reports, err := g.collectNmeaReports(gpgsv | gpgsa) // Now minimum
|
reports, err := g.collectNmeaReports(nmeaFlagsAll) // Now minimum
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("collect nmea reports: %w", err)
|
return fmt.Errorf("collect nmea reports: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ func New(logger *log.Logger, port at.Port) Gps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *gps) Init() error {
|
func (g *gps) Init() error {
|
||||||
if g.port.IsConnected() {
|
if !g.port.IsConnected() {
|
||||||
return fmt.Errorf("at port is not connected")
|
return fmt.Errorf("at port is not connected")
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -33,17 +33,17 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Go... otherwise will throw warning
|
// Go... otherwise will throw warning
|
||||||
var _ = gga | rmc | gpgsv | gpgsa | vtg | xfi | glgsa | gns | gagsv | bdpqgsa | bdpqgsv
|
var nmeaFlagsAll = gga | rmc | gpgsv | gpgsa | vtg | xfi | glgsa | gns | gagsv | bdpqgsa | bdpqgsv
|
||||||
|
|
||||||
func (g *gps) rawCollect(flags nmeaFlags) (string, error) {
|
func (g *gps) rawCollect(flags nmeaFlags) (string, error) {
|
||||||
// Need to omplement low level write/read here because collect must be atomic operation
|
// Need to omplement low level write/read here because collect must be atomic operation
|
||||||
// If other command is executed(write/read) it will read a part of nmea report and cause an error
|
// If other command is executed(write/read) it will read a part of nmea report and cause an error
|
||||||
|
g.switchGpsMode(true)
|
||||||
g.port.Mutex().Lock()
|
g.port.Mutex().Lock()
|
||||||
s := g.port.SerialPort()
|
s := g.port.SerialPort()
|
||||||
defer func() {
|
defer func() {
|
||||||
s.ResetInputBuffer()
|
|
||||||
s.ResetOutputBuffer()
|
|
||||||
g.port.Mutex().Unlock()
|
g.port.Mutex().Unlock()
|
||||||
|
g.switchGpsMode(false)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// Send AT+CGPSINFOCFG=255, flags
|
// Send AT+CGPSINFOCFG=255, flags
|
||||||
@ -57,7 +57,7 @@ func (g *gps) rawCollect(flags nmeaFlags) (string, error) {
|
|||||||
time.Sleep(collectTimeout)
|
time.Sleep(collectTimeout)
|
||||||
|
|
||||||
// Send AT+CGPSINFOCFG=0, flags
|
// Send AT+CGPSINFOCFG=0, flags
|
||||||
if _, err := s.Write([]byte("AT+CGPSINFOCFG=255," + string(flags) + "\r\n")); err != nil {
|
if _, err := s.Write([]byte("AT+CGPSINFOCFG=0," + string(flags) + "\r\n")); err != nil {
|
||||||
return "", fmt.Errorf("serial port write 2: %w", err)
|
return "", fmt.Errorf("serial port write 2: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,12 +101,6 @@ func (m *modem) Init() error {
|
|||||||
return fmt.Errorf("connect: %w", err)
|
return fmt.Errorf("connect: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tests
|
|
||||||
m.logger.Println("=============================== Test")
|
|
||||||
if err := m.testGPS(); err != nil {
|
|
||||||
return fmt.Errorf("testGPS: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// // Establish internet connection
|
// // Establish internet connection
|
||||||
// m.logger.Println("=============================== Internet")
|
// m.logger.Println("=============================== Internet")
|
||||||
// m.ic = internet.New(log.New(m.logger.Writer(), "internet", log.LstdFlags), m.port)
|
// m.ic = internet.New(log.New(m.logger.Writer(), "internet", log.LstdFlags), m.port)
|
||||||
@ -115,15 +109,22 @@ func (m *modem) Init() error {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
// Init submodules
|
// Init submodules
|
||||||
|
m.logger.Println("=============================== Init submodules")
|
||||||
m.sms = sms.New(log.New(m.logger.Writer(), "modem-sms", log.LstdFlags), m.port)
|
m.sms = sms.New(log.New(m.logger.Writer(), "modem-sms", log.LstdFlags), m.port)
|
||||||
if err := m.sms.Init(); err != nil {
|
if err := m.sms.Init(); err != nil {
|
||||||
return fmt.Errorf("sms dialer init %w", err)
|
return fmt.Errorf("sms dialer init %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
m.gps = gps.New(log.New(m.logger.Writer(), "modem-gps", log.LstdFlags), m.port)
|
m.gps = gps.New(log.New(m.logger.Writer(), "modem-gps", log.LstdFlags), m.port)
|
||||||
if err := m.gps.Init(); err != nil {
|
if err := m.gps.Init(); err != nil {
|
||||||
return fmt.Errorf("gps init %w", err)
|
return fmt.Errorf("gps init %w", err)
|
||||||
}
|
}
|
||||||
|
m.logger.Println(m.gps, m)
|
||||||
|
|
||||||
|
// Tests
|
||||||
|
m.logger.Println("=============================== Test")
|
||||||
|
if err := m.testGPS(); err != nil {
|
||||||
|
return fmt.Errorf("testGPS: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -137,9 +138,9 @@ func (m *modem) Update() error {
|
|||||||
m.logger.Println("No connection to module")
|
m.logger.Println("No connection to module")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
m.logger.Println("Update")
|
m.logger.Println("Update", m.gps)
|
||||||
if err := m.gps.Update(); err != nil {
|
if err := m.gps.Update(); err != nil {
|
||||||
return fmt.Errorf("gps update: %w", err)
|
m.logger.Println("gps update:", err.Error())
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ func (d *dialer) Send(number, msg string) error {
|
|||||||
|
|
||||||
// Reads all new messages
|
// Reads all new messages
|
||||||
func (d *dialer) ReadNew() ([]string, error) {
|
func (d *dialer) ReadNew() ([]string, error) {
|
||||||
resp, err := d.port.Send("AT+CMGL")
|
resp, err := d.port.Send("AT+CMGL=\"ALL\"")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("AT+CMGL request: %w", err)
|
return nil, fmt.Errorf("AT+CMGL request: %w", err)
|
||||||
}
|
}
|
||||||
|
16
main.go
16
main.go
@ -28,16 +28,18 @@ func mainE() error {
|
|||||||
log.Println("||||||||||||||||| GET INFO |||||||||||||||||")
|
log.Println("||||||||||||||||| GET INFO |||||||||||||||||")
|
||||||
log.Println(m.GetData())
|
log.Println(m.GetData())
|
||||||
|
|
||||||
log.Println("||||||||||||||||| SEND SMS |||||||||||||||||")
|
// log.Println("||||||||||||||||| SEND SMS |||||||||||||||||")
|
||||||
log.Println(m.At().Send("AT+CNUM"))
|
// log.Println(m.At().Send("AT+CNUM"))
|
||||||
// if err := m.Sms().Send("+79218937173", "CGSG forever"); err != nil {
|
// if err := m.Sms().Send("+79218937173", "CGSG forever"); err != nil {
|
||||||
// return err
|
// return err
|
||||||
// }
|
// }
|
||||||
if ms, err := m.Sms().ReadNew(); err != nil {
|
// if ms, err := m.Sms().ReadNew(); err != nil {
|
||||||
return err
|
// return err
|
||||||
} else {
|
// } else {
|
||||||
log.Println("NEW:", ms)
|
// log.Println("NEW:", ms)
|
||||||
}
|
// }
|
||||||
|
log.Println("||||||||||||||||| Checking gps status |||||||||||||||||")
|
||||||
|
log.Println(m.Gps().CheckStatus())
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user