void MyTask2() { msleep(5000); static int x = 1; prop_request_change(0x80040007, &x, 4); while (1) { LEDBLUE = LEDON; msleep(500); LEDBLUE = LEDOFF; msleep(500); } /* msleep(15000); dumpf(); */ //msleep(5000); //*((volatile long*)LED_RED) = 0x46; // EnableBootDisk() /*Funktion f = 0xFFD21248; f(); *((volatile long*)LED_BLUE) = 0x46; Das oben führt EnableBootDisk() aus. Wenn man eine normale SD-Karte reinsteckt, läuft alles ganz normal. Wenn man eine SD-Karte reinsteckt mit EOS_DEVELOP (?) und BOOTDISK, dann muss auf der Karte eine gültige FIR-Datei mit dem Namen "AUTOEXEC.BIN" sein, sonst ist die Kamera tot. Scheinbar wird die aber schon ausgeführt, sobald man den Deckel zumacht? Und wenn man sie rausnimmt, hängt sich die Kamera auf, auch wenn sie auf OFF war? Er führt die AUTOEXEC.BIN auch aus, wenn man die Karte nicht schreibgeschützt hatte?! */ /* NEU: Nach dem Ausführen der Funktion muss man scheinbar einmal den Akku rausnehmen, damit das richtig funktioniert... Wenn man eine nicht bootfähige SD-Karte reinsteckt, passiert gar nix... Steckt man eine bootfähige mit einer ungültigen AUTOEXEC.BIN rein, beginnt sofort die blaue LED zu leuchten. Steckt man eine bootfähige mit einer FIR-Datei rein, die AUTOEXEC.BIN heißt, blitzt die blaue LED kurz, danach kann man mit der Kamera normal arbeiten... bei jedem Einschalten wir die AUTOEXEC.BIN geladen... Wenn man einfach einen SD-ROM-Dump draufkopiert und umbenennt, geht gar nix... */ // DisableBootDisk() /* Funktion f = 0xFFD21260; f(); *((volatile long*)LED_BLUE) = 0x46;*/ /* Damit kann man den Standard wiederherstellen, danach treten die obigen Probleme nicht mehr auf... */ }
void set_shooting_mode(int m) { if (shooting_mode == m) return; ml_changing_shooting_mode = 1; prop_request_change(PROP_SHOOTING_MODE, &m, 4); msleep(500); ml_changing_shooting_mode = 0; }
static void gps_set(int new_state) { //~ NotifyBox(2000, "gps_set(%d)", new_state); ASSERT(new_state == GPS_INTERNAL || new_state == GPS_EXTERNAL || new_state == GPS_OFF); if ((int)gps_state != new_state) { prop_request_change(PROP_GPS, &new_state, 4); } }
void set_alo(int value) { value = COERCE(value, 0, 3); prop_request_change(PROP_ALO, &value, 4); }
static void ChangeHDMIOutputSizeToFULLHD() { hdmi_code_array[0] = 5; prop_request_change(PROP_HDMI_CHANGE_CODE, hdmi_code_array, 32); }