- From: Paul Boyes <pb@opencar.com>
- Date: Thu, 10 Apr 2014 16:20:13 +0000
- To: "Rees, Kevron" <kevron.m.rees@intel.com>
- CC: "public-autowebplatform@w3.org" <public-autowebplatform@w3.org>
- Message-ID: <CAADE31F-44BA-43B8-9D1D-F6067857A7F6@opencar.com>
Kevron, This looks good to me. I think it covers the basics well. Processing and data size limits will definitely be a consideration for anyone who implements the Vehicle Information API. I believe we should make note in the spec that it is up to the implementer of the API as to what data elements get logged. Paul J. Boyes -------------------------------- Mobile: 206-276-9675 Skype: pauljboyes On Apr 9, 2014, at 12:52 PM, Rees, Kevron <kevron.m.rees@intel.com<mailto:kevron.m.rees@intel.com>> wrote: The purpose of GetHistory is to allow application to get stored information from the system without having to perform logging themselves. Having the system provide data logging avoids the problem of having multiple applications logging the same data. Being able to retrieve logged data allows for some interesting features. There are a number of projects that log and do neat things with vehicle data[1]. This API will come with the assumption that the system will determine what data is stored, how often and how far back in time data will be available. This API may have one flaw however in that it may be processor intensive to do huge queries and pass that data to web applications. If we want to avoid that, we may want change the API with that in mind. It is also possible we can offer this API as an appendix to our vehicle data specification. [1] - http://icculus.org/obdgpslogger/ interface HistoryItem { readonly attribute any value; readonly attribute DOMTimeStamp timeStamp; } callback GetHistoryCallback = void callback(HistoryItem[] items); partial interface VehicleInterface { Promise getHistory(Date begin, Date end, optional Zone zone); readonly attribute boolean isLogged; readonly attribute Date from; readonly attribute Date to; readonly attribute short rate; // µHz } //check if there is data being logged for vehicleSpeed: if(vehicle.vehicleSpeed.isLogged) { /// get all vehicleSpeed from the beginning of time vehicle.vehicleSpeed.getHistory(new Date(0), new Date).then( function ( data ) { console.log(data.length); }); /// get all vehicleSpeed since it was first logged: vehicle.vehicleSpeed.getHistory(vehicle.vehicleSpeed.from, vehicle.vehicleSpeed.to).then( function ( data ) { console.log(data.length); }); } -Kevron
Received on Thursday, 10 April 2014 16:20:42 UTC