hallo
möchte einen ext_wakeup machen. den wakeup pin im ulp "an/und
ausschalten", ist das möglich? ein beispiel wäre schön, bitte keine
erklärungen
denke das "wakeup interrupt bit" löschen und setzen ist das einfachste
bloß wo ist das, finde da nix, das müßte ja auch im "RTC" sein damit ich
es im ULP ändern kann
danke
ich packs nicht...
I_WR_REG_BIT(RTC_CNTL_STATE0_REG, RTC_CNTL_ULP_CP_SLP_TIMER_EN_S, 0),
den geben die manchmal vor dem wakeup um den ulp zu blockieren, also das
der nicht weiter läuft, wäre ja logisch wenn da auch das
esp_sleep_enable_ext1_wakeup zu blockieren ist, also in dem register ...
aber scheint nicht der fall zu sein
also ich such genau das selbe nur für den esp_sleep_enable_ext1_wakeup,
tip bitte ein tip
es wird noch bisl abstrusser
so kann man seine eigene wakeup funktion definieren
// Set the wake stub function
esp_set_deep_sleep_wake_stub(&wake_stub);
wer hat dich wachgerüttelt
rtc_get_reset_reason(0)
das komische ist der wechselt im laufenden betrieb den wachrüttler, kann
mir da keinen reim drauf machen, alle wakeup laufen über den
"esp_set_deep_sleep_wake_stub(&wake_stub);" der wechselt von 5 auf 12
für mich macht das ja sinn woher soll er den wissen was unter ihm war,
aber da könnt er ja eine nummer beibehalten, kann auch sein das ich noch
ein fehler drin hab
für erhellende hinweise stehe ich ihnen gern zur verfügung :)
danke
ist eine komische sache, ich hab es gefunden erklären kann ich mir es
nur halb
der rtc mem ist beim einschalten nicht 0, und ich hab ein ulp wakeup der
einen rtc_mem variable als wakeup grund nimmt, wenn ich den einschalte
ist dort wahrscheinlich ein undefinierter wert drin, der löst dann
sofort den ulp wakeup aus schneller als der hochfahren kann und startet
so nicht mit 1 vbat sonder mit 12 software, aber das wakeup aus dem ulp
müßte 5 sein
!!immer laufendes ulp!! wenn ich das ulp anhalte startet der normal,
wird wahrscheinlich auch vom board abhängen
ist aber schon komisch, da müßte er ja wissen wo das ulp liegt, ganz hab
ich es nicht verstanden
#define RTC_CNTL_SLEEP_EN (BIT(31))
#define RTC_CNTL_SLEEP_EN_S 31
I_WR_REG_BIT(RTC_CNTL_STATE0_REG, RTC_CNTL_ULP_CP_SLP_TIMER_EN,0)
I_WR_REG_BIT(RTC_CNTL_STATE0_REG, RTC_CNTL_ULP_CP_SLP_TIMER_EN_S, 0),
ich weiß wie es reagiert, aber eine erklärung wäre schön, wann hört die
kacke auf, gibts denn nicht jemanden der sich erbarmt
!! I_WR_REG_BIT(RTC_CNTL_STATE0_REG, RTC_CNTL_ULP_CP_SLP_TIMER_EN,0) !!
funktioniert besser