pyaidrone 1.3__tar.gz → 1.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyaidrone might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyaidrone
3
- Version: 1.3
3
+ Version: 1.5
4
4
  Summary: Library for AIDrone Products
5
5
  Home-page: http://www.ir-brain.com
6
6
  Author: IR-Brain
@@ -22,6 +22,8 @@ class AIDrone(Parse, Packet):
22
22
  self.posX = 0
23
23
  self.posY = 0
24
24
  self.rot = 0
25
+
26
+
25
27
 
26
28
  def receiveHandler(self):
27
29
  while self.isThreadRun:
@@ -32,24 +34,6 @@ class AIDrone(Parse, Packet):
32
34
  self.receiveCallback(packet)
33
35
  self.serial.write(self.makepkt.getPacket())
34
36
 
35
- def requestSensorData(self):
36
- self.makepkt.makePacket(8, bytes([0x10]))
37
- self.serial.write(self.makepkt.getPacket())
38
-
39
- def get_gyro(self):
40
- return self.sensors["gyro"]
41
-
42
- def get_acceleration(self):
43
- return self.sensors["acceleration"]
44
-
45
- def get_altitude(self):
46
- return self.sensors["altitude"]
47
-
48
- def get_position(self):
49
- return self.sensors["position"]
50
-
51
- def get_tof(self):
52
- return self.sensors["tof"]
53
37
 
54
38
  def Open(self, portName = "None"):
55
39
  if eq(portName, "None"):
@@ -166,27 +150,9 @@ class AIDrone(Parse, Packet):
166
150
  def emergency(self):
167
151
  self.setOption(0x00)
168
152
  self.serial.write(self.makepkt.getPacket())
153
+
169
154
 
170
- def motor(self, motor_id, speed):
171
- """
172
- 모터 속도를 0~100 범위에서 설정합니다.
173
-
174
- :param motor_id: 제어할 모터의 인덱스 (0~3은 개별 모터, 4는 모든 모터)
175
- :param speed: 모터 속도 (0 ~ 100)
176
- """
177
- speed = max(0, min(speed, 100)) # 속도를 0~100 범위로 제한
178
- scaled_speed = speed * 10 # 내부적으로 0~1000 범위로 변환
179
- data = scaled_speed.to_bytes(2, byteorder="little", signed=False)
180
-
181
- # 모든 모터를 동시에 제어
182
- if motor_id == 4:
183
- self.makepkt.makePacket(12, data) # 모든 모터의 속도를 설정 (THR 제어)
184
- else:
185
- # 개별 모터 제어
186
- self.makepkt.makePacket(6 + (motor_id * 2), data)
187
-
188
- # 패킷을 시리얼 포트를 통해 전송
189
- self.serial.write(self.makepkt.getPacket())
155
+
190
156
 
191
157
 
192
158
 
@@ -22,8 +22,10 @@ class IKeyEvent:
22
22
  self.keyLTurn = True
23
23
  if key == keyboard.KeyCode(char="d"):
24
24
  self.keyRTurn = True
25
+ if key == keyboard.KeyCode(char="k"):
26
+ self.keyRTurn = True
25
27
  if key == keyboard.Key.esc:
26
- self.keyEsc = True
28
+ self.keyEsc = True
27
29
 
28
30
  def on_release(self, key):
29
31
  if key == keyboard.Key.enter:
@@ -46,8 +48,10 @@ class IKeyEvent:
46
48
  self.keyLTurn = False
47
49
  if key == keyboard.KeyCode(char="d"):
48
50
  self.keyRTurn = False
51
+ if key == keyboard.KeyCode(char="v"):
52
+ self.keyRTurn = False
49
53
  if key == keyboard.Key.esc:
50
- self.keyEsc = False
54
+ self.keyEsc = False
51
55
 
52
56
  def __init__(self):
53
57
  self.keyEnter = False
@@ -60,6 +64,7 @@ class IKeyEvent:
60
64
  self.keyGoDown = False
61
65
  self.keyLTurn= False
62
66
  self.keyRTurn = False
67
+ self.keyVideo = False
63
68
  self.keyEsc = False
64
69
 
65
70
  listener = keyboard.Listener(on_press=self.on_press, on_release=self.on_release)
@@ -95,5 +100,8 @@ class IKeyEvent:
95
100
  def isKeyDPressed(self):
96
101
  return self.keyRTurn
97
102
 
103
+ def isKeyVPressed(self):
104
+ return self.keyVideo
105
+
98
106
  def isKeyEscPressed(self):
99
107
  return self.keyEsc
@@ -8,7 +8,6 @@ class Parse:
8
8
  self.type = 0
9
9
  self.packetLen = 20
10
10
  self.headMatchCnt = 0
11
- self.sensors = {"gyro":(0,0), "acceleration":(0,0), "altitude": (0,0), "position": (0, 0), "tof": 0}
12
11
  if self.model == AIDRONE:
13
12
  self.head = (0x26, 0xA8, 0x14, 0xA0)
14
13
 
@@ -44,15 +43,4 @@ class Parse:
44
43
  self.parseSensorData(slef.packet)
45
44
  return self.packet
46
45
  return "None"
47
-
48
- def parseSensorData(self, packet):
49
- if packet[3] == 0xA2:
50
- self.sensors["gyro"] = (int.from_bytes(packet[9:11], "little", signed=True),
51
- int.from_bytes(packet[11:13], "little", signed=True))
52
- self.sensors["acceleration"] = (int.from_bytes(packet[13:15], "little", signed=True),
53
- int.from_bytes(packet[15:17], "little", signed=True))
54
- self.sensors["altitude"] = int.from_bytes(packet[17:19], "little", signed=True)
55
- self.sensors["position"] = (int.from_bytes(packet[19:21], "little", signed=True),
56
- int.from_bytes(packet[21:23], "little", signed=True))
57
- self.sensors["tof"] = int.from_bytes(packet[23:25], "little", signed=True)
58
46
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyaidrone
3
- Version: 1.3
3
+ Version: 1.5
4
4
  Summary: Library for AIDrone Products
5
5
  Home-page: http://www.ir-brain.com
6
6
  Author: IR-Brain
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="pyaidrone",
5
- version="1.3",
5
+ version="1.5",
6
6
  description="Library for AIDrone Products",
7
7
  long_description=open("README.md").read(), # README.md 내용을 long_description으로 사용
8
8
  long_description_content_type="text/markdown", # README 파일이 markdown 형식임을 지정
File without changes
File without changes
File without changes
File without changes
File without changes