File tree 1 file changed +28
-8
lines changed
1 file changed +28
-8
lines changed Original file line number Diff line number Diff line change 19
19
import time
20
20
import digitalio
21
21
from board import *
22
- led = digitalio .DigitalInOut (LED )
23
- led .direction = digitalio .Direction .OUTPUT
22
+ import pwmio
23
+
24
+ led = pwmio .PWMOut (LED , frequency = 5000 , duty_cycle = 0 )
25
+
26
+ def led_pwm_up (led ):
27
+ for i in range (100 ):
28
+ # PWM LED up and down
29
+ if i < 50 :
30
+ led .duty_cycle = int (i * 2 * 65535 / 100 ) # Up
31
+ time .sleep (0.01 )
32
+ def led_pwm_down (led ):
33
+ for i in range (100 ):
34
+ # PWM LED up and down
35
+ if i >= 50 :
36
+ led .duty_cycle = 65535 - int ((i - 50 ) * 2 * 65535 / 100 ) # Down
37
+ time .sleep (0.01 )
38
+
39
+ # led = digitalio.DigitalInOut(LED)
40
+ # led.direction = digitalio.Direction.OUTPUT
24
41
25
42
duckyCommands = {
26
43
'WINDOWS' : Keycode .WINDOWS , 'GUI' : Keycode .GUI ,
@@ -109,8 +126,7 @@ def parseLine(line):
109
126
# sleep at the start to allow the device to be recognized by the host computer
110
127
time .sleep (.5 )
111
128
112
- led .value = True
113
-
129
+ led_pwm_up (led )
114
130
115
131
def getProgrammingStatus ():
116
132
# check GP0 for setup mode
@@ -198,8 +214,12 @@ def selectPayload():
198
214
else :
199
215
print ("Update your payload" )
200
216
217
+ led_state = False
201
218
while True :
202
- time .sleep (1.0 )
203
- led .value = False
204
- time .sleep (1.0 )
205
- led .value = True
219
+ if led_state :
220
+ led_pwm_up (led )
221
+ led_state = False
222
+ else :
223
+ led_pwm_down (led )
224
+ led_state = True
225
+
You can’t perform that action at this time.
0 commit comments