Improved Go Tool so that the OTA Update Works again
This commit is contained in:
@@ -87,6 +87,7 @@ func packFrame(id byte, payload []byte) []byte {
|
||||
|
||||
func (c *Com) Send(id byte, payload []byte) error {
|
||||
raw := packFrame(id, payload)
|
||||
log.Printf("[RAW]: %v", raw)
|
||||
|
||||
//log.Printf("RAW: % X", raw)
|
||||
_, err := c.port.Write(raw)
|
||||
|
||||
@@ -115,5 +115,75 @@ func ParseFrameClientInput(frame api.Frame) ([]api.PayloadClientInput, error) {
|
||||
}
|
||||
|
||||
return clientList, nil
|
||||
}
|
||||
|
||||
// Dummy for now Just get Data
|
||||
func ParseFrameOtaPayload(frame api.Frame) (api.PayloadOtaPayload, error) {
|
||||
if len(frame.Data) == 0 {
|
||||
return api.PayloadOtaPayload{}, fmt.Errorf("empty frame data")
|
||||
}
|
||||
|
||||
status := api.PayloadOtaPayload{
|
||||
Data: frame.Data,
|
||||
SequenzCounter: binary.LittleEndian.Uint16(frame.Data[0:2]),
|
||||
WriteIndex: binary.LittleEndian.Uint16(frame.Data[2:4]),
|
||||
Error: frame.Data[4],
|
||||
}
|
||||
|
||||
return status, nil
|
||||
}
|
||||
|
||||
// Dummy for now Just get Data
|
||||
func ParseFrameOtaStatus(frame api.Frame) (api.PayloadOtaStatus, error) {
|
||||
if len(frame.Data) == 0 {
|
||||
return api.PayloadOtaStatus{}, fmt.Errorf("empty frame data")
|
||||
}
|
||||
|
||||
status := api.PayloadOtaStatus{
|
||||
Data: frame.Data,
|
||||
SequenzCounter: binary.LittleEndian.Uint16(frame.Data[0:2]),
|
||||
WriteIndex: binary.LittleEndian.Uint16(frame.Data[2:4]),
|
||||
}
|
||||
return status, nil
|
||||
}
|
||||
|
||||
// Dummy for now Just get Data
|
||||
func ParseFrameOtaStart(frame api.Frame) (api.PayloadOtaStart, error) {
|
||||
if len(frame.Data) == 0 {
|
||||
return api.PayloadOtaStart{}, fmt.Errorf("empty frame data")
|
||||
}
|
||||
|
||||
status := api.PayloadOtaStart{
|
||||
Data: frame.Data,
|
||||
Parition: frame.Data[0],
|
||||
Error: frame.Data[1],
|
||||
}
|
||||
|
||||
return status, nil
|
||||
}
|
||||
|
||||
// Dummy for now Just get Data
|
||||
func ParseFrameOtaEnd(frame api.Frame) (api.PayloadOtaEnd, error) {
|
||||
if len(frame.Data) == 0 {
|
||||
return api.PayloadOtaEnd{}, fmt.Errorf("empty frame data")
|
||||
}
|
||||
|
||||
status := api.PayloadOtaEnd{
|
||||
Data: frame.Data,
|
||||
}
|
||||
|
||||
return status, nil
|
||||
}
|
||||
|
||||
// Dummy for now Just get Data
|
||||
func ParseFrameOtaStartEspNow(frame api.Frame) (api.PayloadOtaStartEspNow, error) {
|
||||
if len(frame.Data) == 0 {
|
||||
return api.PayloadOtaStartEspNow{}, fmt.Errorf("empty frame data")
|
||||
}
|
||||
|
||||
status := api.PayloadOtaStartEspNow{
|
||||
Data: frame.Data,
|
||||
}
|
||||
|
||||
return status, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user