Weather Station Color ESP8266 mini

Odpovědět
lacika
Příspěvky: 4
Registrován: 09 čer 2019, 13:16
Reputation: 0

Weather Station Color ESP8266 mini

Příspěvek od lacika » 09 čer 2019, 13:30

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?

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Weather Station Color ESP8266 mini

Příspěvek od AstroMiK » 09 čer 2019, 14:44

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

lacika
Příspěvky: 4
Registrován: 09 čer 2019, 13:16
Reputation: 0

Re: Weather Station Color ESP8266 mini

Příspěvek od lacika » 10 čer 2019, 12:13

Asi ano,
Ale aj tak sa z toho nedozviem ako implementovat ten callback..

starsie drivre u mna nepomahaju..

ohruska
Příspěvky: 235
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: Weather Station Color ESP8266 mini

Příspěvek od ohruska » 12 čer 2019, 09:06

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() {
}

ohruska
Příspěvky: 235
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: Weather Station Color ESP8266 mini

Příspěvek od ohruska » 12 čer 2019, 15:08

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

ohruska
Příspěvky: 235
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: Weather Station Color ESP8266 mini

Příspěvek od ohruska » 13 čer 2019, 09:13

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

lacika
Příspěvky: 4
Registrován: 09 čer 2019, 13:16
Reputation: 0

Re: Weather Station Color ESP8266 mini

Příspěvek od lacika » 13 čer 2019, 10:38

skvele, vyskusam :) a dam feedback

lacika
Příspěvky: 4
Registrován: 09 čer 2019, 13:16
Reputation: 0

Re: Weather Station Color ESP8266 mini

Příspěvek od lacika » 13 čer 2019, 18:54

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..

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů