-
Notifications
You must be signed in to change notification settings - Fork 65
Open
Description
I am trying to read the rpm of motor, which is actually connected to VESC 4 on firmware version 5. Hereby I am using PyVESC method to send the message from Jetson to VESC. With PyVESC, it send the message to VESC, which RPM or/and Current it should give to the VESC in order to get the desired rpm from the motor. Below you can see this in the code. But, i am not able to read the return value which gives motor. Here, I get "None".
import pyvesc
import serial
import time
import datetime
from pyvesc import GetValues, SetRPM, SetCurrent, SetRotorPositionMode, GetRotorPosition
port_object = serial.Serial("/dev/ttyACM0",115200, timeout=0.1)
message = pyvesc.SetRPM(10000)
cumessage = pyvesc.SetCurrent(10000)
packet = pyvesc.encode(message)
cupacket = pyvesc.encode(cumessage)
while True:
data = ''
port_object.write(packet)
port_object.write(cupacket)
print("data; ", port_object.in_waiting)
#data = port_object.read(5)
#print(data)
port_object.write(pyvesc.encode_request(GetValues))
#print(port_object.in_waiting)
# Check if there is enough data back for a measurement
if port_object.in_waiting > 78:
(response, consumed) = pyvesc.decode(78)
#packets = []
#now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
print("response: ",response)
print("consumed: ", consumed)
"""for sensor, value in response.__dict__.items():
data = {}
data['measurement'] = sensor
data['tags'] = {}
data['tags']['source'] = 'vesc'
data['time'] = now
data['fields'] = {}
data['fields']['value'] = value
packets.append(data)"""
#print(data)
#port_object.flush()
#VESCMessage = pyvesc.GetVaĺues()
#packet = pyvesc.decode(VESCMessage)
#print(pa)
this is the result:
data; 2681
response: None
consumed: 0
data; 2620
response: None
consumed: 18
data; 2559
response: None
consumed: 36
data; 2498
response: None
consumed: 40
data; 2437
response: None
consumed: 47
data; 2376
response: None
consumed: 23
Does anyone know what is the problem here, why it gets none? what could be the best solutions? Would be really great! Thanks in Advance.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels