![Wink ;)](./images/smilies/icon_wink.gif)
Gruß Micha
Bahnhof .... Kofferklauen...Mezzo hat geschrieben:Hi all@,
habe mir den Ausganspin 9 meiner Drotek 10Dof gegrilltJetzt ist der Pin 9 tot.
Würde aber gern bevor ich den µC rausoperiere, mit dem Quttro weiterfliegen und testen. (Magnetfelder und deren Beseitigung)
Also von Pb1 (Pin9) auf Pd6 (Pin6) des 328P. So hab ich das rausgelesen für die Drotek Platine. Hab mich schon in der def.h versucht, aber meine Programierkenntnisse..![]()
wer kann mir bitte, bitte einen Code- Schipsel schreiben, der es mir ermöglicht den Ausgangspin 9 auf Ausgangspinn 6 zu legen.
Wenn Du dir den Ausgangspin 9 an Deinem Dortek gegrillt hast wieso musst Du am µC328P was ändernhabe mir den Ausganspin 9 meiner Drotek 10Dof gegrilltJetzt ist der Pin 9 tot.
Code: Alles auswählen
/**************************************************************************************/
/*************** Motor Pin order ********************/
/**************************************************************************************/
// since we are uing the PWM generation in a direct way, the pin order is just to inizialie the right pins
// its not possible to change a PWM output pin just by changing the order
#if defined(PROMINI)
uint8_t PWM_PIN[8] = {9,10,11,3,6,5,A2,12}; //for a quad+: rear,right,left,front
#endif
#if defined(PROMICRO)
#if !defined(HWPWM6)
#if !defined(TEENSY20)
uint8_t PWM_PIN[8] = {9,10,5,6,4,A2,SW_PWM_P3,SW_PWM_P4}; //for a quad+: rear,right,left,front
#else
uint8_t PWM_PIN[8] = {14,15,9,12,22,18,16,17}; //for a quad+: rear,right,left,front
#endif
#else
#if !defined(TEENSY20)
uint8_t PWM_PIN[8] = {9,10,5,6,11,13,SW_PWM_P3,SW_PWM_P4}; //for a quad+: rear,right,left,front
#else
uint8_t PWM_PIN[8] = {14,15,9,12,4,10,16,17}; //for a quad+: rear,right,left,front
#endif
#endif
#endif
#if defined(MEGA)
uint8_t PWM_PIN[8] = {3,5,6,2,7,8,9,10}; //for a quad+: rear,right,left,front //+ for y6: 7:under right 8:under left
#endif
Code: Alles auswählen
//Standard RX
#define THROTTLEPIN 3
#if defined(A32U4ALLPINS)
#define ROLLPIN 6
#define PITCHPIN 2
#define YAWPIN 4
#define AUX1PIN 5
#else
#define ROLLPIN 4
#define PITCHPIN 5
#define YAWPIN 2
#define AUX1PIN 6
#endif
#define AUX2PIN 7
#define AUX3PIN 1 // unused
#define AUX4PIN 0 // unused
#if !defined(RCAUX2PIND17)
#define PCINT_PIN_COUNT 4
#define PCINT_RX_BITS (1<<1),(1<<2),(1<<3),(1<<4)
#else
#define PCINT_PIN_COUNT 5 // one more bit (PB0) is added in RX code
#define PCINT_RX_BITS (1<<1),(1<<2),(1<<3),(1<<4),(1<<0)
#endif
#define PCINT_RX_PORT PORTB
#define PCINT_RX_MASK PCMSK0
#define PCIR_PORT_BIT (1<<0)
#define RX_PC_INTERRUPT PCINT0_vect
#define RX_PCINT_PIN_PORT PINB
#define ISR_UART ISR(USART_UDRE_vect)
#if !defined(A32U4ALLPINS) && !defined(TEENSY20)
#define V_BATPIN A3 // Analog PIN 3
#elif defined(A32U4ALLPINS)
#define V_BATPIN A4 // Analog PIN 4
#else
#define V_BATPIN A2 // Analog PIN 3
#endif
#if !defined(TEENSY20)
#define PSENSORPIN A2 // Analog PIN 2
#else
#define PSENSORPIN A2 // Analog PIN 2
#endif
#endif
Histenny73 hat geschrieben:Hallo
Habe mir ein Rushduino GPS MCE V1.3 besorgt und will dieses an meinen Copter anbinden - Habe kein Kabel zum Port2 am FC.
Nun finde ich aber nicht wirklich etwas zum Einstellen bzw. Anschließen des Boards.
Hat hier schon jemand erfahrungen mit dem GPS Empfänger? Hoffe nicht das das ein Fehlkauf war....
Habe ein Flyduino Mega mit GY-86.
Danke
Carsten
Code: Alles auswählen
/************************** atmega328P (Promini) ************************************/
#if defined(PROMINI)
#if !defined(MONGOOSE1_0)
#define LEDPIN_PINMODE pinMode (13, OUTPUT);
#define LEDPIN_TOGGLE PINB |= 1<<5; //switch LEDPIN state (digital PIN 13)
#define LEDPIN_OFF PORTB &= ~(1<<5);
#define LEDPIN_ON PORTB |= (1<<5);
#endif
#if !defined(RCAUXPIN8)
#if !defined(MONGOOSE1_0)
#define BUZZERPIN_PINMODE pinMode (8, OUTPUT);
#define BUZZERPIN_ON PORTB |= 1;
#define BUZZERPIN_OFF PORTB &= ~1;
#endif
#else
#define BUZZERPIN_PINMODE ;
#define BUZZERPIN_ON ;
#define BUZZERPIN_OFF ;
#define RCAUXPIN
#endif
#if !defined(RCAUXPIN12) && !defined(DISABLE_POWER_PIN)
#define POWERPIN_PINMODE pinMode (12, OUTPUT);
#define POWERPIN_ON PORTB |= 1<<4;
#define POWERPIN_OFF PORTB &= ~(1<<4); //switch OFF WMP, digital PIN 12
#else
#define POWERPIN_PINMODE ;
#define POWERPIN_ON ;
#define POWERPIN_OFF ;
#endif
#if defined(RCAUXPIN12)
#define RCAUXPIN
#endif
#define I2C_PULLUPS_ENABLE PORTC |= 1<<4; PORTC |= 1<<5; // PIN A4&A5 (SDA&SCL)
#define I2C_PULLUPS_DISABLE PORTC &= ~(1<<4); PORTC &= ~(1<<5);
#if !defined(MONGOOSE1_0)
#define PINMODE_LCD pinMode(0, OUTPUT);
#define LCDPIN_OFF PORTD &= ~1; //switch OFF digital PIN 0
#define LCDPIN_ON PORTD |= 1;
#define STABLEPIN_PINMODE ;
#define STABLEPIN_ON ;
#define STABLEPIN_OFF ;
#endif
#define PPM_PIN_INTERRUPT attachInterrupt(0, rxInt, RISING); //PIN 0
#define SPEK_SERIAL_VECT USART_RX_vect
#define SPEK_DATA_REG UDR0
//RX PIN assignment inside the port //for PORTD
#define THROTTLEPIN 2
#define ROLLPIN 4
#define PITCHPIN 5
#define YAWPIN 6
#define AUX1PIN 7
#define AUX2PIN 0 // optional PIN 8 or PIN 12
#define AUX3PIN 1 // unused
#define AUX4PIN 3 // unused
#define PCINT_PIN_COUNT 5
#define PCINT_RX_BITS (1<<2),(1<<4),(1<<5),(1<<6),(1<<7)
#define PCINT_RX_PORT PORTD
#define PCINT_RX_MASK PCMSK2
#define PCIR_PORT_BIT (1<<2)
#define RX_PC_INTERRUPT PCINT2_vect
#define RX_PCINT_PIN_PORT PIND
#define ISR_UART ISR(USART_UDRE_vect)
#define V_BATPIN A3 // Analog PIN 3
#define PSENSORPIN A2 // Analog PIN 2
#if defined(A0_A1_PIN_HEX) || (NUMBER_MOTOR > 6)
#define SOFT_PWM_1_PIN_HIGH PORTC |= 1<<0;
#define SOFT_PWM_1_PIN_LOW PORTC &= ~(1<<0);
#define SOFT_PWM_2_PIN_HIGH PORTC |= 1<<1;
#define SOFT_PWM_2_PIN_LOW PORTC &= ~(1<<1);
#else
#define SOFT_PWM_1_PIN_HIGH PORTD |= 1<<5; // PortD_5
#define SOFT_PWM_1_PIN_LOW PORTD &= ~(1<<5);
// #define SOFT_PWM_2_PIN_HIGH PORTD |= 1<<6; // PortD_6 ] ---------------------->>> //auskommentiert, wegen dem Wechsel von Pin 9
// #define SOFT_PWM_2_PIN_LOW PORTD &= ~(1<<6);
#endif
#define SOFT_PWM_3_PIN_HIGH PORTC |= 1<<2; // A0
#define SOFT_PWM_3_PIN_LOW PORTC &= ~(1<<2);
#define SOFT_PWM_4_PIN_HIGH PORTB |= 1<<4; // D12
#define SOFT_PWM_4_PIN_LOW PORTB &= ~(1<<4);
#define SERVO_1_PINMODE pinMode(A0,OUTPUT); // TILT_PITCH - WING left
#define SERVO_1_PIN_HIGH PORTC |= 1<<0;
#define SERVO_1_PIN_LOW PORTC &= ~(1<<0);
#define SERVO_2_PINMODE pinMode(A1,OUTPUT); // TILT_ROLL - WING right
#define SERVO_2_PIN_HIGH PORTC |= 1<<1;
#define SERVO_2_PIN_LOW PORTC &= ~(1<<1);
#define SERVO_3_PINMODE pinMode(A2,OUTPUT); // CAM TRIG - alt TILT_PITCH
#define SERVO_3_PIN_HIGH PORTC |= 1<<2;
#define SERVO_3_PIN_LOW PORTC &= ~(1<<2);
#if !defined(MONGOOSE1_0)
#define SERVO_4_PINMODE pinMode(12,OUTPUT); // new - alt TILT_ROLL
#define SERVO_4_PIN_HIGH PORTB |= 1<<4;
#define SERVO_4_PIN_LOW PORTB &= ~(1<<4);
#endif
#define SERVO_5_PINMODE pinMode(11,OUTPUT); // (11) BI LEFT
#define SERVO_5_PIN_HIGH PORTB |= 1<<3;
#define SERVO_5_PIN_LOW PORTB &= ~(1<<3);
#define SERVO_6_PINMODE pinMode(3,OUTPUT); // (3) TRI REAR - BI RIGHT
#define SERVO_6_PIN_HIGH PORTD|= 1<<6;
#define SERVO_6_PIN_LOW PORTD &= ~(1<<6);
#define SERVO_7_PINMODE pinMode(10,OUTPUT); // (10) new
#define SERVO_7_PIN_HIGH PORTB |= 1<<2;
#define SERVO_7_PIN_LOW PORTB &= ~(1<<2);
//#define SERVO_8_PINMODE pinMode(9,OUTPUT); // (9) new
//#define SERVO_8_PIN_HIGH PORTB |= 1<<1;
//#define SERVO_8_PIN_LOW PORTB &= ~(1<<1);
#define SERVO_8_PINMODE pinMode(9,OUTPUT); ---------> // PortD_6, Reparatur für ehemaligen Pin_9
#define SERVO_8_PIN_HIGH PORTD |= 1<<6;
#define SERVO_8_PIN_LOW PORTD &= ~(1<<6);
#endif
Hallo Steffen,McClean hat geschrieben:Hi Ingo,
....
Naja, was mich auch beunruhigt ist das schwanken des Alt Wertes mit dem zusätzlichen weglaufen. Nach 10min ist der Wert deutlich höher als zum init-Zeitpunkt. Ich mach heute oder morgen mal 2 Screenshots.
Gruss Steffen
Scotch hat geschrieben:So wie ich es sehe kann das Rushduino GPS beides.
siehe Pin Beschreibung auf dem Bild bei Paul http://flyduino.net/RUSHDUINO-GPS-MCE-V13
Ich würde aber den i2c Anschluss bevorzugen um mir die Serielle Schnittstelle für andere Zwecke freizuhalten.