Page 13 of 13
Page 224
import lgpio
GPIOChip = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(GPIOChip, 4)
while True:
lgpio.gpio_write(GPIOChip, 4, 0)
lgpio.gpio_write(GPIOChip, 4, 1)
lgpio.gpiochip_close(GPIOChip)
Page 226
import lgpio
GPIOChip = lgpio.gpiochip_open(4)
lgpio.gpio_claim_output(GPIOChip, 4)
lgpio.gpio_claim_output(GPIOChip, 17)
while True:
lgpio.gpio_write(GPIOChip, 4, 1)
lgpio.gpio_write(GPIOChip, 17, 0)
lgpio.gpio_write(GPIOChip, 4, 0)
lgpio.gpio_write(GPIOChip, 17, 1)
lgpio.gpiochip_close(GPIOChip)
Page 229
import lgpio
import time
GPIOChip = lgpio.gpiochip_open(4)
lgpio.tx_pwm(GPIOChip, 4, 1000, 25)
time.sleep(1)
lgpio.tx_pwm(GPIOChip, 4, 1000, 50)
while True:
pass
Page 231
import lgpio
from collections import namedtuple
Pulse = namedtuple('Pulse', ['group_bits', 'group_mask', 'pulse_delay'])
GPIOChip = lgpio.gpiochip_open(4)
lgpio.group_claim_output(GPIOChip, [4,17])
lgpio.tx_wave(GPIOChip, 4,[Pulse(1,3,1000),Pulse(2,3,1000), Pulse(1,3,1000),Pulse(2,3,1000)] )
while True:
pass
Page 232
import lgpio
from collections import namedtuple
Pulse = namedtuple('Pulse', ['group_bits', 'group_mask','pulse_delay'])
GPIOChip = lgpio.gpiochip_open(4)
lgpio.group_claim_output(GPIOChip, [4,17])
while True:
if lgpio.tx_room(GPIOChip,4,lgpio.TX_WAVE)>2:
lgpio.tx_wave(GPIOChip, 4, [Pulse(1,3,1000),Pulse(2,3,1000)])
Page 227 Appendix
settings.json
{
"sshUser": "pi",
"sshEndpoint": "192.168.11.170",
"remoteDirectory": "/home/pi/Documents/",
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "copyToRemote",
"type": "shell",
"command": "scp -r ${fileDirname} ${config:sshUser}@${config:sshEndpoint}:${config:remoteDirectory}/",
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
"clear": true
}
},
{
"label": "makeRemoteWorkSpace",
"type": "shell",
"command": "ssh ${config:sshUser}@${config:sshEndpoint} ;'mkdir ${config:remoteDirectory}'",
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
}
},
{
"label": "RunR",
"type": "shell",
"command": "ssh ${config:sshUser}@${config:sshEndpoint} ;'python3 ${config:remoteDirectory}/${relativeFileDirname}/${fileBasename}'",
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
}
},
{
"label": "RunRemote",
"dependsOrder": "sequence",
"dependsOn": [
"copyToRemote",
"RunR"
],
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
},
},
{
"label": "StopRemotePython",
"type": "shell",
"command": "ssh ${config:sshUser}@${config:sshEndpoint} ;'pkill python3'",
"problemMatcher": [],
"presentation": {
"showReuseMessage": true,
}
},
{
"label": "wait",
"type": "shell",
"command": "timeout 10"
},
{
"label": "tunnel",
"type": "shell",
"command": "ssh -2 -L 5678:localhost:5678 ${config:sshUser}@${config:sshEndpoint}",
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
}
},
{
"label": "startDebug",
"type": "shell",
"command": "ssh -2 ${config:sshUser}@${config:sshEndpoint} ;
'nohup python3 -m debugpy --listen 0.0.0.0:5678 --wait-for-client
${config:remoteDirectory}/${relativeFileDirname}/${fileBasename} > /dev/null 2>&1 &'",
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
}
},
{
"label": "copyAndDebug",
"dependsOrder": "sequence",
"dependsOn": [
"copyToRemote",
"startDebug",
"wait"
],
"presentation": {
"showReuseMessage": false,
},
},
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Remote Attach",
"type": "python",
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}/
${relativeFileDirname}/",
"remoteRoot": "${config:remoteDirectory}/
${relativeFileDirname}"
}
],
"request": "attach",
"preLaunchTask": "copyAndDebug",
"postDebugTask": "StopREmotePython"
}
]
}