📄 phototempcontrolp.nc
字号:
generic module PhotoTempControlP(){ provides { interface SplitControl; interface Read<uint16_t>[uint8_t client]; } uses { interface Resource as PhotoTempResource; interface Timer<TMilli>; interface GeneralIO as Power; interface Read<uint16_t> as ActualRead; }}implementation{ command error_t SplitControl.start() { call PhotoTempResource.request(); return SUCCESS; } event void PhotoTempResource.granted() { call Power.makeOutput(); call Power.set(); call Timer.startOneShot(10); } event void Timer.fired() { if (call PhotoTempResource.isOwner()) signal SplitControl.startDone(SUCCESS); } task void stopDone() { call PhotoTempResource.release(); signal SplitControl.stopDone(SUCCESS); } command error_t SplitControl.stop() { call Power.clr(); call Power.makeInput(); post stopDone(); return SUCCESS; } uint8_t id; command error_t Read.read[uint8_t client]() { id = client; return call ActualRead.read(); } event void ActualRead.readDone(error_t result, uint16_t val) { if (call PhotoTempResource.isOwner()) signal Read.readDone[id](result, val); } default event void Read.readDone[uint8_t x](error_t result, uint16_t val) { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -