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



Teraz jest 22 lis 2024, o 00:31


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 1 kwi 2017, o 19:54 
Offline
Użytkownik

Dołączył(a): 26 lis 2012
Posty: 54
Pomógł: 2

Dzień dobry :)

Dzisiaj będąc w piwnicy (wiosna, porządki...) zacząłem się zastanawiać nad tym po cholerę mi tyle tej elektroniki?!
Z racji wykonywanej profesji przybywa mi różnego rodzaju gadżetów elektronicznych i leżą i się kurzą może ktoś z Was by zrobił z nich użytek?

Żeby dać wędkę a nie rybę pomyślałem o małym konkursie.

Pomyślałem zatem że może w zamian za gratyfikację w postaci płytki devboard (na przykład atxmega32e5 atxmega256a3bu itp.) ktoś z kolegów wykarze się w dziedzinie programistycznej?
Na przykład napisze bibliotekę która będzie wykonywała konkretne funkcje.
Mam z 10 devboardów różnej maści od atmega, xmega, lpc, bluetooth, pic więc takich zadań można by zrobić kilka zależnie od stopnia trudności.

Zasady ustalę jak będą chętni.
Pierwsza propozycja to napisanie biblioteki do rejestracji numeru oraz czasu i daty zaniku zasilania w urządzeniu, zapis do eeprom:
Wymagania:
- niezależna sprzętowo biblioteka - tzn. taka konstrukcja wywołań i inicjalizacji że po podpięciu np. przerwania i komendy zapisu do eeprom i wskaźnika na komórkę pamięci można jej użyć na dowolnym sprzęcie
- kompaktowość - zapis strukturalny, gdzie data jest pozyskiwana z RTC i przekazywany do zapisu jako struktura danych
- kompresja (minimalizacja zapisu danych w eeprom - wiadomo że zapis w formacie dziesiętnym 01.04.2017 20:40 zajmuje sporo miejsca
- definiowalna ilość zaników 1-200, nadpisywanie najstarszych
- sprawdzanie czy jest w pamięci zanik i dopisywanie kolejnego
- odczyt zapisanych zaników- gdy jest ich 5 funkcja odczytująca powinna zwrócić ilość zaników zasilania (ich liczbę) i daty z godzinami, żeby można było to przetworzyć dalej i np. wyświetlić na lcd.
- krótki opis jak użyć biblioteki, np. "w celu użycia biblioteki najpierw należy zainicjalizować funkcję init() która zrobi coś tam, później cyklicznie lub w przerwaniu sprawdzać czy cośtam".

Jaki jest tego cel?
Nauka i ciągłe doskonalenie :)
W pracy programisty embedded zdarza się że są konkretne wymagania co do tego co ma powstać, często zdarza się że mamy niewielkie pole manewru a czasami dość dowolnie możemy manipulować kodem. Przykład powyższych wymagań to minimalne ograniczenie programisty.

Do tego hermetyzacja tego co się pisze. Niestety zdarza się często tak, że pisząc jakiś program jest on zamknięty i dopiero w drugiej kolejności robi się z niego bibliotekę. Moim zdaniem powinno być odwrotnie. Bo baza bibliotek to podstawa. Tak samo jak baza bibliotek w programie do projektowania PCB. Co z tego że masz super program (nie wiem darmowy, intuicyjny etc.) a nie masz bibliotek... stracisz dużo czasu na ich robienie i może warto kupić komercyjne narzędzie bo ugrzęźniesz na miesiąc?

Moją intencją byłoby stworzenie kilku bibliotek do użytku dla wszystkich pozwalających się czegoś nowego nauczyć.

Jeżeli zgłosi się w tym wątku kilka osób którym się podoba pomysł opublikuję listę nagród które mógłbym wnieść do konkursu.
Jeżeli ktoś ma pomysł na zadanie konkursowe to śmiało niech pisze.

Może wolicie konkurs sprzętowy? :P
(na szybko)
zaproponuj rozwiązanie układowe posiadające następujące cechy:
- konfigurowalne programowo wyjście 0-10V/0(4)-20mA
- zasilanie 24VDC
- zabezpieczenia nadprądowe i nadnapięciowe, przeciwzwarciowe
- wyjście takiego układu możliwe do odczytania przez mikrokontroler


chętnie posłucham Waszych opinii na moją propozycję.

pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2017, o 20:02 
Offline
Użytkownik

Dołączył(a): 27 sty 2016
Posty: 192
Pomógł: 2

Pomysł zaprawdę godzien pochwały.
m.



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: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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