Skip to content

Commit

Permalink
Fix TechnicHub dependency in LayoutController hub program
Browse files Browse the repository at this point in the history
fixes #108
  • Loading branch information
Novakasa committed Apr 21, 2023
1 parent 9c8b605 commit 2a2ccdd
Show file tree
Hide file tree
Showing 3 changed files with 541 additions and 5 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@

## [Unreleased]

### Fixed
- Fix TechnicHub dependency in LayoutController hub program (https://github.com/Novakasa/brickrail/issues/108).

## [1.0.0a1] - 2023-04-15

<!-- diff links for headers -->
Expand Down
21 changes: 16 additions & 5 deletions ble-server/hub_programs/layout_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
from uselect import poll
from usys import stdin

from pybricks.hubs import TechnicHub
from pybricks.pupdevices import DCMotor, Motor
from pybricks.pupdevices import DCMotor
from pybricks.parameters import Port
from pybricks.tools import wait, StopWatch

Expand All @@ -18,10 +17,23 @@

_DATA_SWITCH_CONFIRM = const(0)

def get_port(index):
try: # Primehub
return [Port.A, Port.B, Port.C, Port.D, Port.E, Port.F][index]
except AttributeError:
pass

try: # Technichub
return [Port.A, Port.B, Port.C, Port.D][index]
except AttributeError:
pass

# Cityhub
return [Port.A, Port.B][index]

class Switch:
def __init__(self, port, pulse_duration = 600):
pb_port = [Port.A, Port.B, Port.C, Port.D][port]
self.motor = DCMotor(pb_port)
self.motor = DCMotor(get_port(port))
self.position = _SWITCH_POS_NONE
self.port = port
self.pulse_duration = pulse_duration
Expand Down Expand Up @@ -54,7 +66,6 @@ def execute(self, data):
class Controller:

def __init__(self):
self.hub = TechnicHub()
self.devices = {}

def assign_switch(self, data):
Expand Down
Loading

0 comments on commit 2a2ccdd

Please sign in to comment.