Smart DGM

Simono
Posts: 317
Joined: Mon Sep 17, 2018 5:26 pm

Mon Sep 16, 2019 11:45 am

Koledzy trochę mnie nie było. Na jakim etapie funkcjonalności jest firmware? Nie wiem czy wgrywać czy czekać na kolejną wersję?
User avatar
o_rany
Posts: 219
Joined: Wed Nov 14, 2018 5:32 pm
Location: Sosnowiec
Contact:

Mon Sep 16, 2019 11:58 am

Simono wrote:
Mon Sep 16, 2019 11:45 am
Koledzy trochę mnie nie było. Na jakim etapie funkcjonalności jest firmware? Nie wiem czy wgrywać czy czekać na kolejną wersję?
....ciiiiiiiichooooo nie przeszkadzaj..... @djack2017 pracuje....... wszyscy z zapartym tchem czekają....
djack2017
Posts: 321
Joined: Mon Nov 27, 2017 7:36 am

Tue Sep 17, 2019 7:48 pm

Z tym pracuje to tak nie do końca - byłem 3 dni na urlopie. Generalnie wszystko działa oprócz tego paskudnego przycisku, który jest na GPIO3 (RxD). Teoretycznie poniższa sekwencja inicjująca powinna (według mnie) działać, a nie działa:

Code: Select all

PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3);
gpio_output_set(0, 0, 0, GPIO_ID_PIN(3));           	//Set GPIO3 as input
gpio_register_set(GPIO_PIN_ADDR(3), GPIO_PIN_INT_TYPE_SET(GPIO_PIN_INTR_DISABLE)
					| GPIO_PIN_PAD_DRIVER_SET(GPIO_PAD_DRIVER_DISABLE)
					| GPIO_PIN_SOURCE_SET(GPIO_AS_PIN_SOURCE));
GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, BIT(3));   	//clear interrupt status
PIN_PULLUP_EN(PERIPHS_IO_MUX_U0RXD_U);	//Enable pin pull up
Przycisk zwiera do GND układu. Pullup czy jest enable czy disable to nie ma znaczenia. Przycisk nie generuje przerwania.
Może ma ktoś jakiś pomysł bo mnie się póki co wyczerpały.
User avatar
pzygmunt
Posts: 7049
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Tue Sep 17, 2019 7:55 pm

Dodaj do pliku nagłówkowego Twojej płytki
#define USE_GPIO3
djack2017
Posts: 321
Joined: Mon Nov 27, 2017 7:36 am

Tue Sep 17, 2019 8:08 pm

Też było już dodane. Powoduje to dodatkowo wykonanie
system_uart_swap ();
Co pozbawia mnie możliwości debugowania, a przełącznik i tak nie działa.
Ciekawe jest to, że bez obciążenia układu, jak dotykam końcówkami miernika końcówek przełacznika to generuje się mnóstwo przerwań i układ wchodzi w tryb konfiguracji. Z obciążeniem już taki efekt nie występuje.
User avatar
pzygmunt
Posts: 7049
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Tue Sep 17, 2019 8:14 pm

To musi wywołać uart_swap ponieważ domyślnie uart jest na gpio3. Możesz się wpiąć w UART1 jeśli piny są dostępne
djack2017
Posts: 321
Joined: Mon Nov 27, 2017 7:36 am

Tue Sep 17, 2019 8:29 pm

pzygmunt wrote:
Tue Sep 17, 2019 8:14 pm
To musi wywołać uart_swap ponieważ domyślnie uart jest na gpio3. Możesz się wpiąć w UART1 jeśli piny są dostępne
To jest jasne, przy czym jest to sprawa drugorzędna - bo obsługa przycisku i tak nie działa.
Natomiast mam pytanie - czy aby używać GPIO3 jako linii we/wy muszę wykonać uart_swap czy wystarczy:
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3)
i wtedy mam do dyspozycji dotychczasową linię TxD do debugowania (?)
User avatar
pzygmunt
Posts: 7049
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Tue Sep 17, 2019 8:38 pm

To jest teoretycznie wykonalne ale trzeba przerobić uart.c
Patryk
Posts: 548
Joined: Mon Jan 07, 2019 7:51 pm

Tue Sep 17, 2019 8:39 pm

Nie wiem czy to w czymś pomoże, ale zobacz:
viewtopic.php?p=47016#p47016
djack2017
Posts: 321
Joined: Mon Nov 27, 2017 7:36 am

Tue Sep 17, 2019 8:50 pm

Patryk wrote:
Tue Sep 17, 2019 8:39 pm
Nie wiem czy to w czymś pomoże, ale zobacz:
viewtopic.php?p=47016#p47016
Użycie #define USE_GPIO3 powoduje wykonanie:

Code: Select all

#if defined(USE_GPIO3) ||  defined(USE_GPIO1) || defined(UART_SWAP)
    system_uart_swap ();
#endif

#ifdef USE_GPIO3
   PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3);
   PIN_PULLUP_DIS(PERIPHS_IO_MUX_U0RXD_U);
#endif
Ja to dokładnie (a nawet więcej) robię, ale bez efektu.
Post Reply