mirror of https://github.com/espruino/BangleApps
Enable coretemp in Recorder
parent
8692af197a
commit
f2a02642fd
|
@ -17,6 +17,7 @@ You can record
|
||||||
* **GPS** GPS Latitude, Longitude and Altitude
|
* **GPS** GPS Latitude, Longitude and Altitude
|
||||||
* **Steps** Steps counted by the step counter
|
* **Steps** Steps counted by the step counter
|
||||||
* **HR** Heart rate
|
* **HR** Heart rate
|
||||||
|
* **Core** CoreTemp body temperature
|
||||||
|
|
||||||
**Note:** It is possible for other apps to record information using this app
|
**Note:** It is possible for other apps to record information using this app
|
||||||
as well. They need to define a `foobar.recorder.js` file - see the `getRecorders`
|
as well. They need to define a `foobar.recorder.js` file - see the `getRecorders`
|
||||||
|
|
|
@ -16,13 +16,17 @@ function saveKML(track,title) {
|
||||||
<Schema id="schema">
|
<Schema id="schema">
|
||||||
${track[0].Heartrate!==undefined ? `<gx:SimpleArrayField name="heartrate" type="int">
|
${track[0].Heartrate!==undefined ? `<gx:SimpleArrayField name="heartrate" type="int">
|
||||||
<displayName>Heart Rate</displayName>
|
<displayName>Heart Rate</displayName>
|
||||||
</gx:SimpleArrayField>`:``}
|
</gx:SimpleArrayField>`:``}
|
||||||
${track[0].Steps!==undefined ? `<gx:SimpleArrayField name="steps" type="int">
|
${track[0].Steps!==undefined ? `<gx:SimpleArrayField name="steps" type="int">
|
||||||
<displayName>Step Count</displayName>`:``}
|
<displayName>Step Count</displayName>
|
||||||
${track[0].Core!==undefined ? `<gx:SimpleArrayField name="temp" type="int">
|
</gx:SimpleArrayField>`:``}
|
||||||
|
${track[0].Core!==undefined ? `<gx:SimpleArrayField name="core" type="int">
|
||||||
<displayName>Core Temp</displayName>
|
<displayName>Core Temp</displayName>
|
||||||
|
</gx:SimpleArrayField>`:``}
|
||||||
|
${track[0].Skin!==undefined ? `<gx:SimpleArrayField name="skin" type="int">
|
||||||
|
<displayName>Skin Temp</displayName>
|
||||||
</gx:SimpleArrayField>`:``}
|
</gx:SimpleArrayField>`:``}
|
||||||
</gx:SimpleArrayField>
|
|
||||||
</Schema>
|
</Schema>
|
||||||
<Folder>
|
<Folder>
|
||||||
<name>Tracks</name>
|
<name>Tracks</name>
|
||||||
|
@ -40,9 +44,12 @@ ${track.map(pt=>` <gx:value>${0|pt.Heartrate}</gx:value>\n`).join("")
|
||||||
${track[0].Steps!==undefined ? `<gx:SimpleArrayData name="steps">
|
${track[0].Steps!==undefined ? `<gx:SimpleArrayData name="steps">
|
||||||
${track.map(pt=>` <gx:value>${0|pt.Steps}</gx:value>\n`).join("")}
|
${track.map(pt=>` <gx:value>${0|pt.Steps}</gx:value>\n`).join("")}
|
||||||
</gx:SimpleArrayData>`:``}
|
</gx:SimpleArrayData>`:``}
|
||||||
${track[0].Core!==undefined ? `<gx:SimpleArrayData name="temp">
|
${track[0].Core!==undefined ? `<gx:SimpleArrayData name="core">
|
||||||
${track.map(pt=>` <gx:value>${0|pt.Core}</gx:value>\n`).join("")}
|
${track.map(pt=>` <gx:value>${0|pt.Core}</gx:value>\n`).join("")}
|
||||||
</gx:SimpleArrayData>`:``}
|
</gx:SimpleArrayData>`:``}
|
||||||
|
${track[0].Skin!==undefined ? `<gx:SimpleArrayData name="skin">
|
||||||
|
${track.map(pt=>` <gx:value>${0|pt.Skin}</gx:value>\n`).join("")}
|
||||||
|
</gx:SimpleArrayData>`:``}
|
||||||
</SchemaData>
|
</SchemaData>
|
||||||
</ExtendedData>
|
</ExtendedData>
|
||||||
</gx:Track>
|
</gx:Track>
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
Bangle.removeListener('GPS', onGPS);
|
Bangle.removeListener('GPS', onGPS);
|
||||||
Bangle.setGPSPower(0,"recorder");
|
Bangle.setGPSPower(0,"recorder");
|
||||||
},
|
},
|
||||||
draw : (x,y) => g.setColor(hasFix?"#f00":"#888").drawImage(atob("DAyBAAACADgDuBOAeA4AzAHADgAAAA=="),x,y)
|
draw : (x,y) => g.setColor(hasFix?"#0ff":"#888").drawImage(atob("DAyBAAACADgDuBOAeA4AzAHADgAAAA=="),x,y)
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
hrm:function() {
|
hrm:function() {
|
||||||
|
@ -84,30 +84,29 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
temp:function() {
|
temp:function() {
|
||||||
var temp = 0;
|
var core = 0, skin = 0;
|
||||||
var hasCore = false;
|
var hasCore = false;
|
||||||
function onCore(c) {
|
function onCore(c) {
|
||||||
temp=c.core;
|
core=c.core;
|
||||||
|
skin=c.skin;
|
||||||
hasCore = true;
|
hasCore = true;
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
name : "Core",
|
name : "Core",
|
||||||
fields : ["Core"],
|
fields : ["Core","Skin"],
|
||||||
getValues : () => {
|
getValues : () => {
|
||||||
var r = [temp];
|
var r = [core,skin];
|
||||||
return r;
|
return r;
|
||||||
},
|
},
|
||||||
start : () => {
|
start : () => {
|
||||||
hasCore = false;
|
hasCore = false;
|
||||||
Bangle.on('CoreTemp', onCore);
|
Bangle.on('CoreTemp', onCore);
|
||||||
// Bangle.setHRMPower(1,"recorder");
|
|
||||||
},
|
},
|
||||||
stop : () => {
|
stop : () => {
|
||||||
hasCore = false;
|
hasCore = false;
|
||||||
Bangle.removeListener('CoreTemp', onCore);
|
Bangle.removeListener('CoreTemp', onCore);
|
||||||
// Bangle.setHRMPower(0,"recorder");
|
|
||||||
},
|
},
|
||||||
draw : (x,y) => g.reset().drawImage(atob("DAyBAAADDHnnnnnnnnnnjDmDnDnAAA=="),x,y)
|
draw : (x,y) => g.setColor(hasCore?"#0f0":"#888").drawImage(atob("DAyBAAHh0js3EuDMA8A8AWBnDj9A8A=="),x,y)
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
steps:function() {
|
steps:function() {
|
||||||
|
|
Loading…
Reference in New Issue