-
@allObjects I appologize for not explaining myself.
For example I execute:
I2C1.writeTo(0x63, "R,25.3");
That tells the ph sensor to calculate the ph at the temp 25.3C. The ph sensor will take 1 second to calculate the ph, therefor, I will be required to wait 1 second before executing:
I2C1.readFrom(0x63, 7);
So depending on the specific command that i invoke will be require to wait what ever the wait value is before I readFrom the sensor. I hope I did a better job at explaining...
When you said:
What I understand so far is that you have the following system and
process: The system[Sys] reads[read] temperatures[temp] with
temperature sensors[Tempsensor], ph values[ph] with ph sensors, etc.
The readings[tmp,ph,etc.] are then somehow displayed, transmitted, or
made available otherwise for user or other system consummation.
Reading and follow up processing are repeated based on some kind of
schedule.Yes, I am gathering all the sensor data and will eventually send all the calculations to my Intel Edison using UART communication; also out put all the values to 4x 4digit 7-segment displays.
Maybe a better example? :
Sensor.prototype = { constructor: Sensor, getSensorType:function () { return this.type; //Get Sensor type }, getSensorAddress:function () { return this.address; //Get Sensor address }, getSensorReading:function() { a = this.getSensorAddress; d = I2C1.readFrom(a, 7); return d; }, getSensorResult:function () { var a = this.getSensorAddress; var c = this.cmdTable.Reading.R.cmd; var w = this.cmdTable.Reading.R.wait; var that = this; I2C1.writeTo(a, c); setTimeout(function (e) { that.getSensorReading(); }, w); }, storeSensorResult:function () { }, updateResTemp:function (temp) { console.log("Before: " + this.cmdTable.Reading.R.cmd); this.cmdTable.Reading.R.cmd = "R," + temp; console.log("After: " + this.cmdTable.Reading.R.cmd); } }; var ph = new Sensor("ph", 0x63); ph.updateResTemp(90.5); ph.getSensorResult();
That last example doesn't exactly work. I receive the error:
Uncaught Error: Function "getSensorReading" not found! at line 1 col 8 { this.getSensorReading(); } ^ in function called from system
How do I call getSensorReading() function from Sensor.prototype?
I updated my code to my working code.
Following the thread of thought I read from your code is that after each command you have to wait a certain time until you can issue the next command or continue with the calculation. For example:
A) for a calibrate-clear command you send "Cal,Clear" and then you have to wait 300 [ms] before you can continue. Is that correct? If so, what is the command that has to follow this calibrate-clear command? ...or what is the process/calculation/function that would follow this or any of these commands?
May be you describe me in simple use case(s) what the system will do. To be of more concrete help, I read up on all your posts to get an overall understanding. What I understand so far is that you have the following system and process: The system[Sys] reads[read] temperatures[temp] with temperature sensors[Tempsensor], ph values[ph] with ph sensors, etc. The readings[tmp,ph,etc.] are then somehow displayed, transmitted, or made available otherwise for user or other system consummation. Reading and follow up processing are repeated based on some kind of schedule.