Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 07:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 11 wrz 2016, o 13:52 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 61
Pomógł: 0

Witam!
Napisałem sobie taką o skromną biblioteczkę do obsługi popularnych pilocików IR, opartą bodajże na pomyśle Krauser'a.

Cechy:
- Obsługa oparta o zdarzenia
- Redundancja danych
- Możliwość przesyłania formatu z zwiększonym polem danych
- Licznik retransmitowanych ramek
- Po drobnej modyfikacji biblioteka spokojnie nada się jako kolejny standard do biblioteki z GB

Może komuś się przyda, a przy okazji prosiłbym o nakierowanie jak rozwiązać sprawę resetu licznika ramek (key_time) .
Chciałem skorzystać z przerwania od przepełnienia i w nim zerować licznik po upływie czasu (TimeOut) ale niestety przerwanie te wywołuje się dość chaotycznie, ze względu na brak zerowania rejestru TCNT1. Ma ktoś jakieś pomysły? :)
Zachęcam do wytykania każdego błędu.

EDIT 13.09.2016:

Problem z licznikiem rozwiązany :)
Dziękuję koledze QuadMan za wskazówki.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Ostatnio edytowano 13 wrz 2016, o 19:08 przez Jatsekku, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 wrz 2016, o 14:50 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam,

w swoim projekcie używam nieco zmodyfikowanej i przeportowanej na STM32F0 biblioteki Mirka i dawno do niej nie zaglądałem, ale z tego co widzę, po każdym przerwaniu od ICP możesz przecież zerować TNCT1 i zamiast:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


zrobić po prostu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


to wtedy time_out od przepełnienia timera będzie liczony od końca odebranych danych i będzie ok. Ja mam u siebie jakoś tak zrobione, z tym, że w celu kompatybilności z klawiaturą lokalną u mnie jest tak, że jeśli po prawidłowej ramce dla danego klawisza, wysyłana jest ramka auto repeat, ko odpowiednik Twojego NEC_command1 nie jest zerowany, jego zerowanie następuje dopiero po tym time-oucie właśnie.

Pozdrawiam, QuadMan.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 wrz 2016, o 15:20 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 61
Pomógł: 0

NEC_command1 to akurat zmienna wykorzystywana przy rozszerzonym protokole danych, miałeś na myśli NEC_counter :) Okey, zaraz przetestuje to rozwiązanie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2018, o 21:02 
Offline
Użytkownik

Dołączył(a): 13 paź 2015
Posty: 303
Lokalizacja: Rybnik
Pomógł: 10

Cześć,

Odkopię temat ponieważ mam pytanie co do tej biblioteki.
Mam pilot noname z jakiejś taśmy led rgb. pilot ma kodowanie NEC - biblioteka działa, ALE mam dziwny problem...

Cztery klawisze w pilocie mają taką samą wartość command...

Dla pewności sprawdziłem te klawisze w programie Mkdekoder, wykresy poniżej:

ObrazekObrazek

Na wykresach widać, że przebiegi się różnią, a mi na wyświetlaczu LCD dla obydwóch klawiszy pokazuje cmd=1, tak samo dla innych dwóch klawiszy pokazuje cmd=9.
Może ktoś miał coś takiego i wie o co chodzi?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2018, o 09:42 
Offline
Użytkownik

Dołączył(a): 10 lip 2015
Posty: 334
Pomógł: 32

Adresy nadają inne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2018, o 18:25 
Offline
Użytkownik

Dołączył(a): 13 paź 2015
Posty: 303
Lokalizacja: Rybnik
Pomógł: 10

Adresy też były te same, zaprogramowałem jeden przycisk do zmiany stanu diody led to drugi przycisk robił to samo...

Dzisiaj pobawiłem się ustawieniami czasów kodowania, wgrałem na nowo i nagle już problemu nie ma mimo że ustawiłem takie czasy jak miałem orginalnie w tej bibliotece komendy tych dwóch klawiszy się zmieniły i już nie są takie same. Nie wiem jak ale się naprawiło... :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2018, o 20:29 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Do testów lepiej użyć nowszej wersji dekodera, która jestvw stanie dużo dłuższe ramki zgrabować (np. te id klimy, od zabawek zdalnie sterowanych itd.)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lut 2018, o 00:29 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 61
Pomógł: 0

Rzadko bywam ostatnim czasem na forum, więc nie widziałem nowych postów.
Cieszę się, że komuś się przydała biblioteka i że problem został już rozwiązany ;)
Proszę tylko zwracać uwagę przy zależnościach czasowych dla kwarcu innego niż 16MHz, bo z tego co pamiętam to finalnie nie zautomatyzowałem odpowiedniego ustawienia rejestrów timera w zależności od taktowania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 11 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO