我正在試用BMW新款BMW 116i創新套件中的BMW Java SDK。基本的東西,如打開和關閉燈,啓動和停止電機工作正常。我現在想要做的是編寫一個carlet,將速度限制在驅動器配置文件中配置的最大值。駕駛員身份將通過RFID閱讀器照常檢測。如何以編程方式從Java限制116i上的BMW JSDK速度?
我的問題是,雖然我可以從轉速錶讀取速度,但我無法真正限制速度。下面是我走到這一步的工作是什麼:
public class SpeenControllingCarlet extends GenericCarlet {
public void start(final VehicleModel model) throws CarletException {
RfidReader rfidReader = (RfidReader) model
.getDevice(Devices.DRIVER_RFID_READER);
Rfid rfid = rfidReader.getRfid();
DriverProfile driverProfile = model.getDriverProfileRegistry()
.getDriverProfile(rfid.toString());
if (driverProfile == null) {
return;
}
final Double maxAllowedSpeed = Double.valueOf(driverProfile
.getCustomAttribute("maxAllowedSpeed", "190"));
Tachometer tachometer = (Tachometer) mode.getDevice(Devices.TACHOMETER);
tachometer.addSpeedListener(new SpeedListener() {
public void onSpeedChanged(SpeedChangedEvent speedChangedEvent) {
if (speedChangedEvent.getCurrentSpeed() > maxAllowedSpeed)
{
Horn horn = (Horn) mode.getDevice(Devices.HORN);
horn.beep(440, 2000);
}
}
});
}
}
這將只是發出蜂鳴聲兩秒鐘,如果駕駛者繼續快於驅動程序配置文件允許。
我的問題是 - 是否有可能實際上限制的速度(不只是愚蠢的嗶嗶聲)?
如果這不是愚人節的笑話,我的下一輛車必須是JSDK功能! – 2010-04-01 00:33:40
我幾乎將此標記爲刪除,因爲我們離4月1日如此近(互聯網變得無用的那一天)。但是,根據http://java.sun.com/developer/technicalArticles/J2ME/TLA.html,顯然實際上有一個用於寶馬的Java SDK。 – 2010-04-01 00:37:37
當然*是一個笑話:D – 2010-04-01 00:38:41