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



Teraz jest 23 gru 2024, o 13:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 19 maja 2014, o 13:33 
Offline
Nowy

Dołączył(a): 19 maja 2014
Posty: 5
Pomógł: 0

Alo

Posiadam płytkę "gotową zmontowaną" i posiadam kod, "gotowy przetestowany".

Jedyny problem jest taki, że płytka jest od innego urządzenia i nie pasują trzy piny.

Płytka to jest moduł eleres / orangelrs (czyli 328p+rmf22b) a kod to multiwii.

I teraz mam problem, bo nie potrafię "przekierować" portów od obsługi rmf22b do właściwych pinow.

Jest tak ze na płytce piny Atmegi nr: 23,24,25 idą do SDO,SDI,SCLK modułu RFM (piny 10,11,12 na RFM22) a chciałbym żeby przypisać
RFM22 <-> Atmega
10 (SDO) pin11 (zamiast 23)
11 (SDI) pin 10 (zamiast 24)
12 (SCLK) pin 9 (zamiast 25)


I kawałek kodu który to obsługuje (tak mi się przynajmniej wydaje ;-) )

#if defined(PROMINI)
// For 328p Boards ( UNTESTED! )
#define nSEL_on PORTD |= 0x10 // pin12 ROLL
#define nSEL_off PORTD &= ~0x10
#define SCK_on PORTD |= 0x20 // pin13 PITCH
#define SCK_off PORTD &= ~0x20
#define SDI_on PORTD |= 0x40 // pin14 YAW
#define SDI_off PORTD &= ~0x40
#define SDO_1 (PIND & 0x80) == 0x80 // pin15 AUX1
#define SDO_0 (PIND & 0x80) == 0x00
#define IRQ_0 (PIND & 0x04) == 0 // pin10 THROTTLE
#define IRQ_PIN_MASK0 0b00001111;
#define IRQ_PIN_MASK1 0b00000100;
#define RED_LED_ON LEDPIN_ON
#define GREEN_LED_ON LEDPIN_ON
#endif


Da radę to jakoś zrobić?
Pzdr MZ



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2014, o 17:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Mówiąc 23, 24, 25 masz na myśli PC0, PC1, PC2?

Rozszyfruj numerki, których używasz i podziel na poszczególne elementy. Będzie łatwiej Tobie pomóc.

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2014, o 18:21 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 205
Lokalizacja: Poznań
Pomógł: 22

Narysuj schemat jak chcesz mieć to podłączone. Użyj w obrębie kodu znacznika sytnax.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2014, o 20:55 
Offline
Nowy

Dołączył(a): 19 maja 2014
Posty: 5
Pomógł: 0

Ok.

Mam jedynie pdf y za schematami I postaram sie coś z nimi zrobić.

A tak prosto to chcialbym zrozumiec jak w kodzie zamienić przypisana do wyprowadzenia  atmegi 328p z pinu nr 23 zamieniamy na 11.
24 na 10 i 25 na 9.


Bo mogę sobie to zrobić metoda cięcia i lutowania, (i wtedy działa) ale w kodzie lepiej i nie tracę możliwości wgrania pierwotnej aplikacji.

Tak swoją droga, jeżeli problem bedzie wymagał ciut dłuższego popatrzenia, to chętnie zapłacę za poprawkę zamiast robić doktorat z ardu :-))


Pzdr MZ

------------------------ [ Dodano po: 1 minucie ]

Ok.

Mam jedynie pdf y za schematami I postaram sie coś z nimi zrobić.

A tak prosto to chcialbym zrozumiec jak w kodzie zamienić przypisana do wyprowadzenia  atmegi 328p z pinu nr 23 zamieniamy na 11.
24 na 10 i 25 na 9.


Bo mogę sobie to zrobić metoda cięcia i lutowania, (i wtedy działa) ale w kodzie lepiej i nie tracę możliwości wgrania pierwotnej aplikacji.

Tak swoją droga, jeżeli problem bedzie wymagał ciut dłuższego popatrzenia, to chętnie zapłacę za poprawkę zamiast robić doktorat z ardu :-))


Pzdr MZ



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2014, o 21:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Dziwny ten kod. Nóżki 23-25 to PORTC, a w kodzie masz PORTD. Chyba, że ja mam inny schemat atmegi niż wszyscy :)

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2014, o 22:38 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 205
Lokalizacja: Poznań
Pomógł: 22

Kod przerobiony. Przerabiając go użyłem swoich zdolności jasnowidza mam nadzieje, że moja szklana kula ukazała to czego chcesz. Jeśli dasz schemat to powiem Ci czy dobrze przerobiłem kod.

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2014, o 09:10 
Offline
Nowy

Dołączył(a): 20 maja 2014
Posty: 2
Pomógł: 0

Kolega mcexperts trochę to zagmatwał.

Fragment kodu napisany w Arduino który podał:
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

odnosi się do takich połączeń:
Obrazek
Czyli aby kod działał na jego płytce musiałby przerobić fizyczne połączenia, czyli wykonać:
RFM22 -----> Atmega
10 (SDO) ___ pin11 (PD7)
11 (SDI) ____ pin 10(PD6)
12 (SCLK) ___ pin 9 (PD5)
A tego chce uniknąć.


Natomiast kolega chce ten kod przystosować do płytki która ma połączenia jak poniżej:
Obrazek

Czyli faktycznie posiada płytkę na której fizyczne połączenia są takie że:
piny Atmegi nr: 23,24,25 idą do SDO,SDI,SCLK modułu RFM (piny 10,11,12 na RFM22)
i do takich połączeń chce przystosować ten kod.
Komentarze w kodzie są mylące i proszę ich nie brać pod uwagę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2014, o 09:38 
Offline
Nowy

Dołączył(a): 19 maja 2014
Posty: 5
Pomógł: 0

Alo.

Bardzo dziekuje koledze za obrazki i wyjaśnienia.
Czy te schematy są ok?

MZ



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2014, o 10:00 
Offline
Nowy

Dołączył(a): 20 maja 2014
Posty: 2
Pomógł: 0

Wg mnie są ok.
Drugi schemat możesz sobie sam zweryfikować - przedzwoń miernikiem płytkę którą posiadasz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2014, o 12:31 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 205
Lokalizacja: Poznań
Pomógł: 22

Zgodnie z drugim schematem:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2014, o 15:02 
Offline
Nowy

Dołączył(a): 19 maja 2014
Posty: 5
Pomógł: 0

Alo.

Niestety wypluwa bledy, ale z telefonu nie wkleje.

romek_by.republika.pl/MK/MultiWii_2_27b2_PLANE_328_TEST_MIS.zip

Oryginalny soft do poprawki to ten powyzej.

Ja jeszcze raz Dziekuje kolegom za poprawki I chetnie zaplace za czas jak ktos by chcial to ogarnąć.

Pzdr MZ



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2014, o 17:10 
Offline
Użytkownik

Dołączył(a): 22 lut 2014
Posty: 205
Lokalizacja: Poznań
Pomógł: 22

Ta część kodu odpowiedzialna jest po prostu za przypisanie stanów. Ty musisz jeszcze znaleźć fragment odpowiedzialny za ustawienie kierunku portu/pinu (DDRx lub xxx_PORT x i xxx_PIN x).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2014, o 20:32 
Offline
Nowy

Dołączył(a): 19 maja 2014
Posty: 5
Pomógł: 0

Alo znów.

Spróbowałem troche poszukać, ale nic nie potrafię - znaczy gogle wskazuje drogę ale dalej jest to robienie doktoratu ;-)

Zadeklarowałem płytkę nano i odkomentowałem w config.h
#define ELERES_RX // uncomment for enable eLeReS support

i mam błędy:

eLeReS.ino: In function 'void send_8bit_data(uint8_t)':
eLeReS:447: error: 'PC2' was not declared in this scope
eLeReS:448: error: 'PC1' was not declared in this scope
eLeReS:448: error: 'PC1' was not declared in this scope
eLeReS:452: error: 'PC2' was not declared in this scope
eLeReS.ino: In function 'uint8_t read_8bit_data()':
eLeReS:457: error: 'PC2' was not declared in this scope
eLeReS:463: error: 'PC0' was not declared in this scope
eLeReS.ino: In function 'void Write8bitcommand(uint8_t)':
eLeReS:470: error: 'PD4' was not declared in this scope
eLeReS:471: error: 'PC2' was not declared in this scope
eLeReS.ino: In function 'uint8_t _spi_read(uint8_t)':
eLeReS:482: error: 'PD4' was not declared in this scope
eLeReS.ino: In function 'void _spi_write(uint8_t, uint8_t)':
eLeReS:490: error: 'PD4' was not declared in this scope


Im dalej w las tym gorzej ;-)
Może się znajdzie ktoś kto normalnie za wynagrodzenie zobaczy ten kod? Bo absolutnie nie jestem w stanie tego zrobic samodzielnie.


Pzdr MZ



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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