ATNEL tech-forum
https://forum.atnel.pl/

Ir Nec - biblioteka
https://forum.atnel.pl/topic10813-30.html
Strona 2 z 2

Autor:  JVC [ 26 mar 2015, o 21:17 ]
Tytuł:  Re: Ir Nec - biblioteka

Tak, przerobiłem w/g Twoich wskazań, fajnie bo widać obie komendy - prostą i zanegowaną ale nadal nie rozwiązuje to problemu zliczania do 250 prosto i 255 zanegowane.
Na wyświetlaczu jest:
250 255
UP
i już nic się nie zmienia a pułapka z leda jaką zrobiłem po wykonaniu case-ów zmienia sie na stan przeciwny po naciśnięciu jakiegokolwiek klawisza na pilocie.

P.S.
Uint16_t command musiało zostać po kombinacjach jakie próbowałem robić.

Tak się teraz zastanawiam czy to nie jest właśnie problemem bo uint8_t ma zakres od 0 do 255 a uint16_t do 65535 ale
wygląda to tak jak by w pamięci wyświetlacza dodawały się wartości do siebie aż do osiągnięcia stanu 255.

Autor:  Krauser [ 26 mar 2015, o 23:07 ]
Tytuł:  Re: Ir Nec - biblioteka

W pamięci wyświetlacza nic się nie dodaje (ajk już to moga zostawać jakieś znaki, bo nie są nadpisane) Możesz zamiast pętli while ustawić for i dla różnych przebiegów ustawiać sobie command wprost w kodzie a nie na podstawie tego co odbierze pilot.

Dodawanie może następować w kodzie przerwania:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

ale po odebraniu całej ramki ta zmienna jest zerowana:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Może wklej cały kod.

Autor:  JVC [ 26 mar 2015, o 23:28 ]
Tytuł:  Re: Ir Nec - biblioteka

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

Autor:  Krauser [ 26 mar 2015, o 23:33 ]
Tytuł:  Re: Ir Nec - biblioteka

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

Autor:  JVC [ 26 mar 2015, o 23:38 ]
Tytuł:  Re: Ir Nec - biblioteka

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

ale zerowało się wszystko.

Dzięki wielkie jeszcze raz.

Autor:  robertaz [ 10 maja 2016, o 21:30 ]
Tytuł:  Re: Ir Nec - biblioteka

Witam,
Odkopię trochę temat ponieważ udało mi się uruchomić program na Atmedze32. Problem pojawił się jednak, kiedy próbowałem przerobić kod na ATTiny2313. Okazuje się iż przekraczam znacznie rozmiary pamięci Flash jak i RAM. Kod Krausera jest w budowie zbliżony do tego, który Mirek napisał w BB, a jednak różnice w zapełnieniu pamięci są znaczne. Czy ktoś ma pomysł jak możnaby zoptymalizować kod aby pozbyć się zbędnych bajtów? :)

Autor:  Krauser [ 12 maja 2016, o 19:20 ]
Tytuł:  Re: Ir Nec - biblioteka

robertaz napisał(a):
Czy ktoś ma pomysł jak możnaby zoptymalizować kod aby pozbyć się zbędnych bajtów?

Eclipse Gadget

Pokaż kod, którym się posługujesz. Na forum już były zawody jak zoptymalizować kod. Ciekawe kto się skusi tym razem.

Autor:  robertaz [ 16 maja 2016, o 17:58 ]
Tytuł:  Re: Ir Nec - biblioteka

Działający kod pod ATMega32. Prosta obsługa pilota NEC - przełączanie dwóch przekaźników (góra i dół) dwoma przyciskami z pilota. Dodatkowo 2 timery programowe które po czasie 5s wyłączają każdy z przekaźników. Kod zajmuje 2760b Flash oraz 271b RAM. Układ docelowy to ATTiny2313A (2048b Flash i 128b RAM) taktowany rezonatorem o częstotliwości 11059200Hz. Po wstępnej analizie kodu doszedłem do wniosku iż większa część pamięci RAM jest zajmowana przez zmienne statyczne: static uint32_t temp_frame; static uint16_t last_icr; uint16_t width; static uint8_t frame_idx = 33; w podprogramie obsługi przerwania. Tylko nie wiem za bardzo jak się do tego zabrać aby działało innym sposobem.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Autor:  Krauser [ 18 maja 2016, o 23:17 ]
Tytuł:  Re: Ir Nec - biblioteka

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


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



PS. Zobacz w specyfikacji procesorka jakie bity są w rejestrze TCCR0A, a jakie w TCCR0B

Autor:  robertaz [ 19 maja 2016, o 18:21 ]
Tytuł:  Re: Ir Nec - biblioteka

Dzięki za podpowiedź z rejestrem TCCR0B ;) niedopatrzenie z mojej strony. Widzę, że u Ciebie wszystko pięknie śmiga a u mnie nie za bardzo. [url=https://obrazkiforum.atnel.pl/4806/9b2874b7978636466b1ac72e1fdcd4ee.PNG]

Czy jest wymagane jakieś wstępne skonfigurowanie eclipse'a aby opcja boost flash z eclipse gadget zadziałała? Tak czytam i czytam wątek w którym omawiany jest eclipse gadget ale niczego się doszukać nie mogę. Pracuję na Eclipse Luna i pobrałem najnowszą wersję gadgeta.

Autor:  Krauser [ 20 maja 2016, o 20:39 ]
Tytuł:  Re: Ir Nec - biblioteka

Wykonaj Clean i Build i pokaż całą zawartość okienka Console. Może kompilujesz konfiguracją Debug.

Autor:  robertaz [ 20 maja 2016, o 21:01 ]
Tytuł:  Re: Ir Nec - biblioteka

Konsola po Cleanie:

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


I po ponownym Buildzie:

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


Zwykle odhaczam opcję Debug przy tworzeniu projektu więc ta opcja odpada. Czytałem na wątku o Eclipse Gadget, że trzeba wpisać gdzieś linijkę:

Cytuj:
1. jeśli masz projekt w którym wcześniej NIGDY SAM RĘCZNIE nie dodałeś np: tych parametrów: -Wl,--gc-sections to NIGDY w tym pliku .cdproject nie pojawi się cały wpis w XML'u

Cytuj:
<option id="de.innot.avreclipse.linker.option.otherlinkargs.292343389" name="Other Arguments" superClass="de.innot.avreclipse.linker.option.otherlinkargs" value="-Wl,--gc-sections" valueType="string"/>


ale jeśli choć raz ręcznie dodasz i nawet usuniesz we właściwościach eclipse ten wpis: -Wl,--gc-sections, to w XML zostanie to:
Cytuj:
<option id="de.innot.avreclipse.linker.option.otherlinkargs.292343389" name="Other Arguments" superClass="de.innot.avreclipse.linker.option.otherlinkargs" value="" valueType="string"/>


Ja niestety tu już nie mogę dodać całego pustego wpisu z cudzysłowami i parametrem bo tu eclipse tworzy sobie w locie jakieś ID (handle klasy) jak zwał tak zwał - zaznaczone na niebiesko, i jest to zawsze inne dla danego projeku - ale co ciekawe jak RAZ powstanie to już wciąż występuje takie samo - dlatego wtedy gadżet działa już za każdym razem

więc wygląda to na to że trzeba by było RAZ ręcznie projekt zainicjalizować tymi dwoma wpisami ... a już usunąć potrafiłby je gadżet .... eeeeh więc to taka troszkę KULAWA opcja, mało domyślna. Ja czy ty może będziemy pamiętać jak to tworzymy ... ale dla innych nie będzie to w ogóle intuicyjne niestety.


Tylko nie wiem gdzie i jak to wpisać i czy owa czynność tyczy się jeszcze nowszych wersji Gadgeta.

Autor:  Krauser [ 20 maja 2016, o 21:22 ]
Tytuł:  Re: Ir Nec - biblioteka

Wypróbuj ten projekt z załącznika
File->Import
General->Existing projects into workspace
Next
Select archive file

Autor:  robertaz [ 20 maja 2016, o 21:44 ]
Tytuł:  Re: Ir Nec - biblioteka

To samo co w moim projekcie. Chyba coś mam źle poustawiane w Eclipsie.

Autor:  Krauser [ 20 maja 2016, o 22:01 ]
Tytuł:  Re: Ir Nec - biblioteka

Cały projekt zawiera ustawienia. A skąd masz kompilator? W Window -> Show View -> Other -> AVR Supported MCUs jest podana wersja. Ja mam avr-gcc 4.8. (AVR_8_bit_GNU_Toolchain_3.4.4_1229)

Autor:  robertaz [ 20 maja 2016, o 22:09 ]
Tytuł:  Re: Ir Nec - biblioteka

U mnie jest avr-gcc 4.3.3 (WinAVR 20100110). Trochę mnie to dziwi bo konfigurowałem Eclipse według poradników Mirka. Cóż, spróbuję wgrać toolchaina i zobaczymy czy pomoże.

Autor:  Krauser [ 20 maja 2016, o 22:46 ]
Tytuł:  Re: Ir Nec - biblioteka

Skorzystaj z tego. Na miejscu masz od razu pliki do pobrania
http://mirekk36.blogspot.com/2014/11/av ... -luna.html

Autor:  robertaz [ 26 maja 2016, o 20:15 ]
Tytuł:  Re: Ir Nec - biblioteka

Wgrałem na nowo Eclipse MARS według poradnika Mirka i wszystko ładnie śmiga :). Jednak dłuższa nieobecność na forum szkodzi... i to bardzo. Wielkie dzięki Krauser za rozwiązanie problemu. Niby błahostka a jednak wymagało trochę czasu aby dość do sedna sprawy. Jeszcze raz dzięki. :)

Autor:  danny [ 18 lip 2019, o 11:52 ]
Tytuł:  Re: Ir Nec - biblioteka

Szanowni Koledzy,

Nie jestem pewny czy nie zaczynać nowego wątku, proszę Moderatora o ew. wydzielenie do nowego wątku.

Jako, że w/g tego:

http://techdocs.altium.com/display/FPGA ... n+Protocol

Nec koduje dane od LSB, więc ramkę z załącznika powinien odczytywać:

address 0x04; command 0x72

Natomiast w/g biblioteki zamieszczonej w tym wątku, odczytywane jest:

address 0x20, command 0x4E


Obrazek

Tak więc proszę o sprawdzenie czy moje rozumowanie jest poprawne i czy poniższe zmiany w kodzie są ok:

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



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

Autor:  mirekk36 [ 18 lip 2019, o 12:00 ]
Tytuł:  Re: Ir Nec - biblioteka

danny napisał(a):
Nie jestem pewny czy nie zaczynać nowego wątku

Forum jest po to aby zakładać nowe wątki z pytaniami a nie uprawiać wykopalisk archeologicznych i dopisywać się do archiwalnych wątków. Chciałbyś przebywać na jakimś forum, gdzie wszyscy piszą w jednym wątku??? takim globalnym i jednym ? Dałbyś radę coś znaleźć na miliardzie stron wątku na przestrzeni iluś lat ?

Dlatego wątek zamykam a kolega - proszę bardzo niech założy nowy wątek, tym bardziej że z nami kolega jest na forum nie od dziś - już od 2013 roku - kolejnym razem poleci warn za odkopywanie archiwów ok ?

Strona 2 z 2 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/