Debugged connection.
This commit is contained in:
parent
6b8284ee47
commit
a5d216ffc9
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ out/
|
|||||||
Makefile
|
Makefile
|
||||||
go.sum
|
go.sum
|
||||||
.git/
|
.git/
|
||||||
|
*.swp
|
||||||
|
6
Makefile
6
Makefile
@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
build:
|
build:
|
||||||
@go build -o ./out/annalist.exe main.go
|
docker compose build
|
||||||
#run: build
|
run: build
|
||||||
# @./out/annalist.exe
|
docker compose up
|
||||||
|
|
||||||
#linux:
|
#linux:
|
||||||
# @$Env:GOOS="linux"; $Env:GOARCH="arm"; $Env:GOARM=5
|
# @$Env:GOOS="linux"; $Env:GOARCH="arm"; $Env:GOARM=5
|
||||||
|
@ -86,7 +86,7 @@ func (p *atPort) makeReq(msg string) (string, error) {
|
|||||||
}
|
}
|
||||||
// Read
|
// Read
|
||||||
readLen, err := p.port.Read(p.inputBuf)
|
readLen, err := p.port.Read(p.inputBuf)
|
||||||
log.Println("RAWREAD:", string(p.inputBuf[:readLen]))
|
log.Println(msg, "RAWREAD:", string(p.inputBuf[:readLen]))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("port read: %w", err)
|
return "", fmt.Errorf("port read: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,6 @@ func (resp Resp) RmFront(str string) Resp {
|
|||||||
return Resp(string(resp)[len(str):])
|
return Resp(string(resp)[len(str):])
|
||||||
}
|
}
|
||||||
|
|
||||||
func (resp Resp) Str() string {
|
func (resp Resp) String() string {
|
||||||
return string(resp)
|
return string(resp)
|
||||||
}
|
}
|
||||||
|
@ -69,8 +69,9 @@ func (m *modem) Init() error {
|
|||||||
if err := m.onOffPin.Init(); err != nil {
|
if err := m.onOffPin.Init(); err != nil {
|
||||||
return fmt.Errorf("gpio pin init: %w", err)
|
return fmt.Errorf("gpio pin init: %w", err)
|
||||||
}
|
}
|
||||||
m.onOffPin.PowerOn()
|
// onOffPin.PowerOn()
|
||||||
|
|
||||||
|
log.Println("===============================")
|
||||||
// Soft search
|
// Soft search
|
||||||
if err := m.SearchPort(true); err != nil {
|
if err := m.SearchPort(true); err != nil {
|
||||||
return fmt.Errorf("soft port search: %w", err)
|
return fmt.Errorf("soft port search: %w", err)
|
||||||
@ -86,10 +87,14 @@ func (m *modem) Init() error {
|
|||||||
return errors.New("no port is detected")
|
return errors.New("no port is detected")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Println("===============================")
|
||||||
|
|
||||||
// Connect
|
// Connect
|
||||||
if err := m.Connect(); err != nil {
|
if err := m.Connect(); err != nil {
|
||||||
return fmt.Errorf("connect: %w", err)
|
return fmt.Errorf("connect: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Println("===============================")
|
||||||
// Tests
|
// Tests
|
||||||
if err := m.TestGPS(); err != nil {
|
if err := m.TestGPS(); err != nil {
|
||||||
return fmt.Errorf("testGPS: %w", err)
|
return fmt.Errorf("testGPS: %w", err)
|
||||||
@ -128,13 +133,16 @@ func (m *modem) checkPort(portName string) error {
|
|||||||
if !resp.Check() {
|
if !resp.Check() {
|
||||||
return fmt.Errorf("error response: %s", resp)
|
return fmt.Errorf("error response: %s", resp)
|
||||||
}
|
}
|
||||||
model := resp.RmFront("+CGMM:").String()
|
model := strings.Split(resp.String(), "\n")[0]
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("get model: %w", err)
|
return fmt.Errorf("get model: %w", err)
|
||||||
}
|
}
|
||||||
if model != "SIMCOM_SIM7600E-H" {
|
rightModel := "SIMCOM_SIM7600E-H"
|
||||||
|
// log.Printf("[% x]\n [% x]", []byte("SIMCOM_SIM7600E-H"), []byte(model))
|
||||||
|
if model[:len(rightModel)] != rightModel {
|
||||||
return fmt.Errorf("invalid modem model: %s", model)
|
return fmt.Errorf("invalid modem model: %s", model)
|
||||||
}
|
}
|
||||||
|
log.Println("Model right")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -179,7 +187,7 @@ func (m *modem) Ping() error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if resp.Check() {
|
if !resp.Check() {
|
||||||
return fmt.Errorf("connection lost")
|
return fmt.Errorf("connection lost")
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
@ -200,11 +208,12 @@ func (m *modem) SwitchToGpsMode() error {
|
|||||||
if !resp.Check() {
|
if !resp.Check() {
|
||||||
return fmt.Errorf("error response")
|
return fmt.Errorf("error response")
|
||||||
}
|
}
|
||||||
ans := strings.Split(resp.RmFront("+CGPS:").String(), "\n")[0]
|
ans := strings.Replace(strings.Split(strings.Split(resp.RmFront("+CGPS:").String(), "\n")[0], ",")[0], " ", "", -1)
|
||||||
if ans == "1" {
|
if ans == "1" {
|
||||||
log.Println("GPS already enabled")
|
log.Println("GPS already enabled")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
log.Println(ans)
|
||||||
|
|
||||||
// Modem is not in GPS mode
|
// Modem is not in GPS mode
|
||||||
resp, err = m.port.Send("AT+CGPS=1")
|
resp, err = m.port.Send("AT+CGPS=1")
|
||||||
@ -257,7 +266,7 @@ func (m *modem) Update() error {
|
|||||||
|
|
||||||
// Update
|
// Update
|
||||||
log.Println("Receiving GPS data...")
|
log.Println("Receiving GPS data...")
|
||||||
resp, err := m.port.Send("AT+GPSINFO")
|
resp, err := m.port.Send("AT+CGPSINFO")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("receive GPS data: %w", err)
|
return fmt.Errorf("receive GPS data: %w", err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user