Creation nouvelle interface Docker Vehicule et Multimedia
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
export const profiles = ['route', 'ville', 'arret'];
|
||||
|
||||
// All displays use the same clock: no GPIO, CAN or vehicle commands here.
|
||||
export function telemetry(profile = 'route', now = Date.now()) {
|
||||
if (!profiles.includes(profile)) throw new RangeError('Profil inconnu');
|
||||
const t = now / 1000;
|
||||
const speed = profile === 'arret' ? 0 : Math.round(profile === 'ville'
|
||||
? 23 + 23 * Math.sin(t / 18) : 82 + 12 * Math.sin(t / 15));
|
||||
const gear = speed === 0 ? 'N' : String(Math.min(6, Math.max(1, Math.ceil(speed / 20))));
|
||||
return {
|
||||
schemaVersion: 1, source: 'demo', timestamp: now, profile,
|
||||
speedKph: speed, rpm: speed === 0 ? 850 : Math.round(1400 + speed * 13 + 100 * Math.sin(t / 3)),
|
||||
fuelPercent: 68, coolantCelsius: profile === 'arret' ? 76 : 89,
|
||||
batteryVolts: 14.2, outsideCelsius: 21, rangeKm: 540,
|
||||
tripKm: 42.6, consumptionL100: 5.8, gear,
|
||||
weather: { source: 'demo', label: 'Éclaircies', celsius: 21 }
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user