I need a way to communicate with the rest of the world, and the method I like is “Events” where you send and receive packets or byte streams. Let’s annotate an example where I read temperature from an ADC once a second and display it on the PC. In this case I use PScript in both ends.
Device code:
module myDevice event timer(1000) float temp = readAnalog(14) raise TempMessage(temp) end end |
PC code:
module myPC event myDevice.TempMessage(float temp) print(“Temperature is “,temp) end end |
I introduce the keywords “module”, “raise” and “event” from Plain here. Module is a named application running in our network, while event is an external event.
This is a draft, so I need to work on the syntax details to make this work, but the key concept is that communication should be this easy. (1) I raise and event with parameters and (2) I receive and process the same event on a different device, in this case my PC.
I have a few challenges with the syntax above. (1) how do I handle multiple instances of “myDevice”? (2) how do I differ event filter parameters from call parameters, and (3) how do I send a respond back if I need to.