Skip to content
This repository was archived by the owner on Jan 6, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions python-engine/src/communications/radio.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import threading
import time
import serial
import constants
import configparser
from pathlib import Path
import numpy as np

class Radio:
Expand All @@ -28,7 +29,15 @@ def __init__(self):
"r": rotational speed in rad/s}
'''
# se enlaza al puerto serial de la base station
self.serial_port = serial.Serial(port= constants.SERIAL_PORT, baudrate=constants.BAUDRATE, timeout=constants.TIMEOUT)
config = configparser.ConfigParser()
config_path = Path(__file__).parent.parent / 'config.ini'
config.read(config_path)

Serial_Port = config.get('Network', 'Serial_Port')
BaudRate = config.getint('Network', 'BaudRate')
Timeout = config.getint('Network', 'Timeout')

self.serial_port = serial.Serial(port= Serial_Port, baudrate=BaudRate, timeout=Timeout)
if not self.serial_port.is_open:
raise ValueError("No se pudo abrir el puerto serial")

Expand Down
13 changes: 11 additions & 2 deletions python-engine/src/communications/robot_comunication.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@

import pickle
import numpy as np
import constants
import configparser
from pathlib import Path
import serial
import serial.tools.list_ports

Expand All @@ -13,7 +14,15 @@ def list_serial_ports():

class USBSerial:
def __init__(self):
self.serial_port = serial.Serial(port= constants.SERIAL_PORT, baudrate=constants.BAUDRATE, timeout=constants.TIMEOUT)
config = configparser.ConfigParser()
config_path = Path(__file__).parent.parent / 'config.ini'
config.read(config_path)

Serial_Port = config.get('Network', 'Serial_Port')
BaudRate = config.getint('Network', 'BaudRate')
Timeout = config.getint('Network', 'Timeout')

self.serial_port = serial.Serial(port= Serial_Port, baudrate=BaudRate, timeout=Timeout)
if not self.serial_port.is_open:
raise ValueError("No se pudo abrir el puerto serial")
else:
Expand Down
19 changes: 15 additions & 4 deletions python-engine/src/communications/wrapper.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,32 @@
# Interfaz de la radio para comunicarse con sim y cancha .
#Esto es para evitar la divergencia entre codigo simulador y cancha
from communications.grsim import Grsim
from constants import *
import configparser
from pathlib import Path
import math

class CommandSender:
def __init__(self) -> None:
if COMMUNICATION_MODE == 1:
config = configparser.ConfigParser()
config_path = Path(__file__).parent.parent / 'config.ini'
config.read(config_path)

Communication_Mode = config.getint('Network', 'Communication_Mode')
if Communication_Mode == 1:
self.grsim = Grsim()

def send_robot_data(self, id = 0, is_blue = 0,
velangular = 0, kickspeedx = 0, kickspeedz = 0,
veltangent = 0, velnormal = 0, spinner = 0,
wheelsspeed = False) -> None:
if COMMUNICATION_MODE == 1:
config = configparser.ConfigParser()
config_path = Path(__file__).parent.parent / 'config.ini'
config.read(config_path)

Communication_Mode = config.getint('Network', 'Communication_Mode')
if Communication_Mode == 1:
isteamyellow = 1 - is_blue
self.grsim.communicate_grsim(id, isteamyellow, velangular,
kickspeedx, kickspeedz, veltangent, velnormal, spinner,
wheelsspeed)


21 changes: 21 additions & 0 deletions python-engine/src/config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[Geometry]
field_width = 9
field_height = 6

[Network]

Communication_Mode = 1
# 0: Cancha, 1: Grsim

Serial_Port = /dev/ttyUSB0
BaudRate = 115200
Timeout = 1

# Grsim
GrSim_Vision_Port = 10020
GrSim_Command_Listen_Port = 20011
GrSim_Multicast_Address = 224.5.23.2

[Physics]

Update_Frequency = 1
10 changes: 0 additions & 10 deletions python-engine/src/constants.py

This file was deleted.