Stránka 1 z 1

Weather Station Color ESP8266 mini

Napsal: 09 čer 2019, 13:30
od lacika
Ahojte.

Chcel som si urobit tento projekt
https://docs.thingpulse.com/guides/wifi ... splay-kit/

Ale mam problem s XPT2046_Touchscreen kniznicou.
Ta hadze chybu "ISR is not IRAM"
ak zakomentuje touchscreen v kode, tak stanice funguje..
ak nezakomentujem pri inicializacii to spadne.

docital som sa, ze tam treba pred urobit nieco s preruseniami.
https://github.com/PaulStoffregen/XPT2046_Touchscreen
ale kedze moje skusenosti s prerusniami su na bode mrazu, tak sa neviem pohnut.

nevie niekto poradit?

Re: Weather Station Color ESP8266 mini

Napsal: 09 čer 2019, 14:44
od AstroMiK
Nebude to ten samý problém, co se tu řešil ani ne před týdnem?

https://www.arduino-forum.cz/viewtopic.php?f=54&t=1755

Re: Weather Station Color ESP8266 mini

Napsal: 10 čer 2019, 12:13
od lacika
Asi ano,
Ale aj tak sa z toho nedozviem ako implementovat ten callback..

starsie drivre u mna nepomahaju..

Re: Weather Station Color ESP8266 mini

Napsal: 12 čer 2019, 09:06
od ohruska
Zkusil jsem to, a asi to funguje.
Stačí do funkce přerušení doplnit 'ICACHE_RAM_ATTR'.
Ukázkový kod pro zkoušku přerušení, pro WEMOS D1:

Kód: Vybrat vše

const int pin = 14; // pin D5
int i=0;

void ICACHE_RAM_ATTR toggle() {
  static int state = 0;
  state = !state;
  digitalWrite(BUILTIN_LED, state);
  Serial.println("blink");i++;
  Serial.println(i);
}

void setup() {
    Serial.begin(74880);
    Serial.println("sensorValue");
  pinMode(BUILTIN_LED, OUTPUT);
  pinMode(pin, INPUT_PULLUP);
  attachInterrupt(pin, toggle, CHANGE);
  toggle();
}

void loop() {
}

Re: Weather Station Color ESP8266 mini

Napsal: 12 čer 2019, 15:08
od ohruska
Díval jsem se na tu knihovnu. Ona byla napsána pro ARDUINO nebo ESP32. Pro ESP32 je použito 'IRAM_ATTR'.
Pro ESP8266 bude potřeba tu knihovnu upravit.
Ota

Re: Weather Station Color ESP8266 mini

Napsal: 13 čer 2019, 09:13
od ohruska
Mělo by stačit upravit v "XPT2046_Touchscreen.cpp"

Kód: Vybrat vše

#ifdef ESP32
void IRAM_ATTR isrPin( void )
#else
void isrPin( void )
#endif
Na

Kód: Vybrat vše

#ifdef ESP8266
void ICACHE_RAM_ATTR isrPin( void )
#else
void isrPin( void )
#endif

Re: Weather Station Color ESP8266 mini

Napsal: 13 čer 2019, 10:38
od lacika
skvele, vyskusam :) a dam feedback

Re: Weather Station Color ESP8266 mini

Napsal: 13 čer 2019, 18:54
od lacika
takze uprava definicie pomohla..
spusti sa to spravne..
zajimave ale je, ze ak sa dotknem touchscreenu, tak jedine co to urobi je, ze mi zmeni 24H format na 12H a naopak..