Enable coretemp in Recorder

pull/1189/head
Ivor Hewitt 2021-12-28 21:55:35 +00:00
parent 8692af197a
commit f2a02642fd
3 changed files with 20 additions and 13 deletions

View File

@ -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`

View File

@ -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>

View File

@ -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() {