LightSensor1
objectPage http://www.yama-lab.org/fwb4pi/index.php?Servo2 or http://www.yama-lab2.org/dp-1/index.php?Servo2
device yamaRasPiDp9_1 or yamaRasPiDp9_2 start after no write for 10 min.
command: set readInterval=300000
command: set execInterval=0
command: program i2cServo
program: dim thisTable
program: dim thisRowLabel
program: dim thisColumnLabel
program: dim urls
program: '
program: ' init i2c
program: ex("pi4j", "i2c use 1")
program: '
program: ' init servo driver, PCA9685
program: ex("pi4j", "i2c write1 0x40,0xfa,0x00")
program: ex("pi4j", "i2c write1 0x40,0xfb,0x00")
program: ex("pi4j", "i2c write1 0x40,0xfc,0x00")
program: ex("pi4j", "i2c write1 0x40,0xfd,0x00")
program: ex("pi4j", "i2c write1 0x40,0x01,0x04") ' set mode-2 out drive
program: ex("pi4j", "i2c write1 0x40,0x00,0x01") ' set mode-1 restart disabled, internal clock, auto-increment disabled, nomal, ALLCALL
program: delay(50)
program: sms=ex("pi4j", "i2c read1 0x40,0x00") 'read current mode-1
program: sm=s2i(sms)
'program: nsm=0x007f & sm 'new mode, wake up
program: nsm=0x00ef & sm ' python ... mode1 = mode1 & ~SLEEP, SLEEP=0x10
program: delay(50)
program: ex("pi4j", "i2c write1 0x40,0x00,"+nsm)
program: delay(50)
program: '
program: ' init frequency
program: sms=ex("pi4j", "i2c read1 0x40,0x00") 'read current mode-1
program: sm=s2i(sms)
program: nsm=(0x007f & sm)|0x0010 'new mode, sleep
program: delay(50)
program: ex("pi4j", "i2c write1 0x40,0x00,"+nsm) '... sleep, set the sleep mode on, restart disabled 40> 00+ 10+
program: ex("pi4j", "i2c write1 0x40,0xfe,0x65") 'set the pwm frequency prescale register 40> fe+ 70+
program: ex("pi4j", "i2c write1 0x40,0x00,"+sm) 'recover the mode-1 register, .... wake up. 40> 00+ 00+
program: smi=sm | 0x0080 ' restart enabled, no auto incremental, nomal, no all call
program: delay(50)
program: ex("pi4j", "i2c write1 0x40,0x00,"+smi) ' set the mode-1 register to incremental mode. 40> 00+ a1+
program: delay(50)
program: '
program: ex("service","clear sendBuffer")
program: for i=1 to 30
program: sensorPageUrl="http://www.yama-lab.org/fwb4pi/index.php?LightSensor1"
program: sensorPage=ex("connector", "getpage "+sensorPageUrl)
program: sensorPageR=getResultPart(sensorPage)
program: parseCsv(sensorPageR, thisTable, thisRowLabel, thisColumnLabel)
program: ix=getindex(thisTable, thisRowLabel, thisColumnLabel("device"),"=","light")
program: rv=thisTable(ix,thisColumnLabel("v"))
program: ex("service","putSendBuffer device=light, Date="+ex("service","getCurrentDate.")+", rv="+rv)
program: if rv>10 then 'move ch0 to center
program: {
program: ex("pi4j", "i2c write1 0x40,0x06,0x00")
program: ex("pi4j", "i2c write1 0x40,0x07,0x00")
program: ex("pi4j", "i2c write1 0x40,0x08,0x96")
program: ex("pi4j", "i2c write1 0x40,0x09,0x00")
program: }
program: else
program: {
program: ex("pi4j", "i2c write1 0x40,0x06,0x00")
program: ex("pi4j", "i2c write1 0x40,0x07,0x00")
program: ex("pi4j", "i2c write1 0x40,0x08,0x58")
program: ex("pi4j", "i2c write1 0x40,0x09,0x01")
program: }
program: delay(10000)
program: next i
program: ex("pi4j", "i2c close.")
program: ex("service","sendResults.");
command: end i2cServo
command: run i2cServo
result:
device=light, Date=2018/10/19/ 16:15:35, rv=20
device=light, Date=2018/10/19/ 16:15:45, rv=20
device=light, Date=2018/10/19/ 16:15:55, rv=20
device=light, Date=2018/10/19/ 16:16:5, rv=20
device=light, Date=2018/10/19/ 16:16:16, rv=20
device=light, Date=2018/10/19/ 16:16:26, rv=20
device=light, Date=2018/10/19/ 16:16:36, rv=20
device=light, Date=2018/10/19/ 16:16:46, rv=20
device=light, Date=2018/10/19/ 16:16:56, rv=20
device=light, Date=2018/10/19/ 16:17:7, rv=20
device=light, Date=2018/10/19/ 16:17:17, rv=20
device=light, Date=2018/10/19/ 16:17:27, rv=20
device=light, Date=2018/10/19/ 16:17:37, rv=20
device=light, Date=2018/10/19/ 16:17:47, rv=20
device=light, Date=2018/10/19/ 16:17:58, rv=20
device=light, Date=2018/10/19/ 16:18:8, rv=20
device=light, Date=2018/10/19/ 16:18:18, rv=20
device=light, Date=2018/10/19/ 16:18:28, rv=20
device=light, Date=2018/10/19/ 16:18:38, rv=20
device=light, Date=2018/10/19/ 16:18:49, rv=20
device=light, Date=2018/10/19/ 16:18:59, rv=20
device=light, Date=2018/10/19/ 16:19:9, rv=20
device=light, Date=2018/10/19/ 16:19:19, rv=20
device=light, Date=2018/10/19/ 16:19:29, rv=4
device=light, Date=2018/10/19/ 16:19:39, rv=4
device=light, Date=2018/10/19/ 16:19:50, rv=4
device=light, Date=2018/10/19/ 16:20:0, rv=4
device=light, Date=2018/10/19/ 16:20:10, rv=4
device=light, Date=2018/10/19/ 16:20:20, rv=4
device=light, Date=2018/10/19/ 16:20:31, rv=4
currentDevice="yamaRasPiDp9_1",Date=2018/10/19/ 16:20:41