Rev 720 | Rev 744 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 720 | Rev 723 | ||
---|---|---|---|
Line 23... | Line 23... | ||
23 | { |
23 | { |
24 | DDR_SPI |= (1<<DD_MOSI)|(1<<DD_SCK); // Set MOSI and SCK output, all others input |
24 | DDR_SPI |= (1<<DD_MOSI)|(1<<DD_SCK); // Set MOSI and SCK output, all others input |
25 | SLAVE_SELECT_DDR_PORT |= (1 << SPI_SLAVE_SELECT); |
25 | SLAVE_SELECT_DDR_PORT |= (1 << SPI_SLAVE_SELECT); |
Line 26... | Line 26... | ||
26 | 26 | ||
27 | SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR1)|(0<<SPR0)|(0<<SPIE); // Enable SPI, Master, set clock rate fck/64 |
27 | SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR1)|(0<<SPR0)|(0<<SPIE); // Enable SPI, Master, set clock rate fck/64 |
Line 28... | Line 28... | ||
28 | SPSR = 0; // SPI2X |
28 | SPSR = 0;//(1<<SPI2X); |
29 | 29 | ||
Line 30... | Line 30... | ||
30 | SLAVE_SELECT_PORT |= (1 << SPI_SLAVE_SELECT); |
30 | SLAVE_SELECT_PORT |= (1 << SPI_SLAVE_SELECT); |
Line 48... | Line 48... | ||
48 | //------------------------------------------------------ |
48 | //------------------------------------------------------ |
49 | void SPI_StartTransmitPacket(unsigned char command) |
49 | void SPI_StartTransmitPacket(unsigned char command) |
50 | { |
50 | { |
51 | //if ((SLAVE_SELECT_PORT & (1 << SPI_SLAVE_SELECT)) == 0) return; // transfer of prev. packet not completed |
51 | //if ((SLAVE_SELECT_PORT & (1 << SPI_SLAVE_SELECT)) == 0) return; // transfer of prev. packet not completed |
52 | if (!SPITransferCompleted) return; |
52 | if (!SPITransferCompleted) return; |
53 | //if (!(SPSR & (1 << SPIF))) return; |
- | |
54 | _delay_us(30); |
53 | // _delay_us(30); |
Line 55... | Line 54... | ||
55 | 54 | ||
Line 56... | Line 55... | ||
56 | SLAVE_SELECT_PORT &= ~(1 << SPI_SLAVE_SELECT); // SelectSlave |
55 | SLAVE_SELECT_PORT &= ~(1 << SPI_SLAVE_SELECT); // SelectSlave |
57 | 56 | ||
Line 91... | Line 90... | ||
91 | unsigned char rxdata; |
90 | unsigned char rxdata; |
92 | static unsigned char rxchksum; |
91 | static unsigned char rxchksum; |
Line 93... | Line 92... | ||
93 | 92 | ||
94 | if (SPITransferCompleted) return; |
93 | if (SPITransferCompleted) return; |
- | 94 | if (!(SPSR & (1 << SPIF))) return; |
|
Line 95... | Line 95... | ||
95 | if (!(SPSR & (1 << SPIF))) return; |
95 | SendSPI = 4; |
96 | - | ||
97 | _delay_us(30); |
96 | |
Line 98... | Line 97... | ||
98 | 97 | // _delay_us(30); |
|
99 | SLAVE_SELECT_PORT |= (1 << SPI_SLAVE_SELECT); // DeselectSlave |
98 | SLAVE_SELECT_PORT |= (1 << SPI_SLAVE_SELECT); // DeselectSlave |
100 | 99 | ||
Line 184... | Line 183... | ||
184 | GPS_Nick = FromNaviCtrl_Value.GPS_Nick; |
183 | GPS_Nick = FromNaviCtrl_Value.GPS_Nick; |
185 | GPS_Roll = FromNaviCtrl_Value.GPS_Roll; |
184 | GPS_Roll = FromNaviCtrl_Value.GPS_Roll; |
186 | KompassValue = FromNaviCtrl_Value.CompassValue; |
185 | KompassValue = FromNaviCtrl_Value.CompassValue; |
187 | KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180; |
186 | KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180; |
Line 188... | Line 187... | ||
188 | 187 | ||
189 | if (FromNaviCtrl_Value.BeepTime != 0) beeptime = FromNaviCtrl_Value.BeepTime; |
188 | if (FromNaviCtrl_Value.BeepTime > beeptime) beeptime = FromNaviCtrl_Value.BeepTime; |
190 | } |
189 | } |
191 | else |
190 | else |
192 | { |
191 | { |
193 | KompassValue = 0; |
192 | KompassValue = 0; |