@@ -1659,6 +1659,7 @@ class GamePadVal():
16591659 def __init__ (self ):
16601660 self .p0 = MPythonPin (0 , PinMode .ANALOG )
16611661 self .p1 = MPythonPin (1 , PinMode .ANALOG )
1662+ self .p8 = MPythonPin (8 , PinMode .IN )
16621663 self .p2 = MPythonPin (2 , PinMode .ANALOG )
16631664 self .p15 = MPythonPin (15 , PinMode .IN )
16641665 self .p16 = MPythonPin (16 , PinMode .IN )
@@ -1667,7 +1668,7 @@ def __init__(self):
16671668
16681669 def getGamePadVal (self ):
16691670 self .key = 0
1670- btRocker = self .p2 . read_analog ()
1671+ btRocker = self .p8 . read_digital ()
16711672 btX = self .p15 .read_digital ()
16721673 btY = self .p16 .read_digital ()
16731674 btSELECT = self .p13 .read_digital ()
@@ -1697,4 +1698,23 @@ def getAxix(self,key='x'):
16971698 return self .p0 .read_analog ()
16981699 else :
16991700 return self .p1 .read_analog ()
1701+
1702+ def get_battery_level (self ):
1703+ """ 手柄电量 毫伏 """
1704+ _adc = self .p2 .read_analog ()
1705+ _battery = (6600 * _adc )/ 4095
1706+ _battery_level = 1
1707+ if (_battery >= 3950 ):
1708+ _battery_level = 1
1709+ elif (3700 > _battery and _battery >= 3700 ):
1710+ _battery_level = 0.75
1711+ elif (3700 > _battery and _battery >= 3550 ):
1712+ _battery_level = 0.5
1713+ elif (3550 > _battery and _battery >= 3400 ):
1714+ _battery_level = 0.25
1715+ elif (3400 > _battery ):
1716+ _battery_level = 0
1717+
1718+ print ("_battery:" ,_battery )
1719+ return _battery_level
17001720
0 commit comments