Rev 1420 | Rev 1451 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1420 | Rev 1448 | ||
---|---|---|---|
Line 5... | Line 5... | ||
5 | //struct str_ToNaviCtrl_Version ToNaviCtrl_Version; |
5 | //struct str_ToNaviCtrl_Version ToNaviCtrl_Version; |
6 | //struct str_FromNaviCtrl_Version FromNaviCtrl_Version; |
6 | //struct str_FromNaviCtrl_Version FromNaviCtrl_Version; |
7 | struct str_ToNaviCtrl ToNaviCtrl; |
7 | struct str_ToNaviCtrl ToNaviCtrl; |
8 | struct str_FromNaviCtrl FromNaviCtrl; |
8 | struct str_FromNaviCtrl FromNaviCtrl; |
9 | struct str_FromNaviCtrl_Value FromNaviCtrl_Value; |
9 | struct str_FromNaviCtrl_Value FromNaviCtrl_Value; |
10 | struct str_SPI_VersionInfo SPI_VersionInfo; |
10 | struct str_SPI_VersionInfo NC_Version; |
Line 11... | Line 11... | ||
11 | 11 | ||
12 | unsigned char SPI_BufferIndex; |
12 | unsigned char SPI_BufferIndex; |
Line 13... | Line 13... | ||
13 | unsigned char SPI_RxBufferIndex; |
13 | unsigned char SPI_RxBufferIndex; |
14 | 14 | ||
Line 15... | Line 15... | ||
15 | volatile unsigned char SPI_Buffer[sizeof(FromNaviCtrl)]; |
15 | volatile unsigned char SPI_Buffer[sizeof(FromNaviCtrl)]; |
16 | unsigned char *SPI_TX_Buffer; |
16 | unsigned char *SPI_TX_Buffer; |
Line 17... | Line 17... | ||
17 | 17 | ||
18 | unsigned char SPITransferCompleted, SPI_ChkSum; |
18 | unsigned char SPITransferCompleted, SPI_ChkSum; |
Line 19... | Line 19... | ||
19 | unsigned char SPI_RxDataValid,NaviDataOkay = 0; |
19 | unsigned char SPI_RxDataValid,NaviDataOkay = 0; |
Line 20... | Line 20... | ||
20 | 20 | ||
Line 38... | Line 38... | ||
38 | //SPDR = 0x00; // dummy write |
38 | //SPDR = 0x00; // dummy write |
Line 39... | Line 39... | ||
39 | 39 | ||
40 | ToNaviCtrl.Sync1 = 0xAA; |
40 | ToNaviCtrl.Sync1 = 0xAA; |
Line 41... | Line 41... | ||
41 | ToNaviCtrl.Sync2 = 0x83; |
41 | ToNaviCtrl.Sync2 = 0x83; |
42 | 42 | ||
43 | ToNaviCtrl.Command = SPI_CMD_USER; |
43 | ToNaviCtrl.Command = SPI_FCCMD_USER; |
44 | ToNaviCtrl.IntegralNick = 0; |
44 | ToNaviCtrl.IntegralNick = 0; |
45 | ToNaviCtrl.IntegralRoll = 0; |
45 | ToNaviCtrl.IntegralRoll = 0; |
Line 46... | Line -... | ||
46 | FromNaviCtrl_Value.SerialDataOkay = 0; |
- | |
47 | SPI_RxDataValid = 0; |
- | |
48 | - | ||
49 | SPI_VersionInfo.Major = VERSION_MAJOR; |
- | |
50 | SPI_VersionInfo.Minor = VERSION_MINOR; |
46 | FromNaviCtrl_Value.SerialDataOkay = 0; |
Line 51... | Line 47... | ||
51 | SPI_VersionInfo.Patch = VERSION_PATCH; |
47 | SPI_RxDataValid = 0; |
52 | SPI_VersionInfo.Compatible = NC_SPI_COMPATIBLE; |
48 | |
53 | } |
49 | } |
Line 167... | Line 163... | ||
167 | NaviCntAcc = 0; NaviAccNick = 0; NaviAccRoll = 0; |
163 | NaviCntAcc = 0; NaviAccNick = 0; NaviAccRoll = 0; |
168 | // ToNaviCtrl.User8 = Parameter_UserParam8; |
164 | // ToNaviCtrl.User8 = Parameter_UserParam8; |
169 | // ToNaviCtrl.CalState = WinkelOut.CalcState; |
165 | // ToNaviCtrl.CalState = WinkelOut.CalcState; |
170 | switch(ToNaviCtrl.Command) // |
166 | switch(ToNaviCtrl.Command) // |
171 | { |
167 | { |
172 | case SPI_CMD_USER: |
168 | case SPI_FCCMD_USER: |
173 | ToNaviCtrl.Param.Byte[0] = Parameter_UserParam1; |
169 | ToNaviCtrl.Param.Byte[0] = Parameter_UserParam1; |
174 | ToNaviCtrl.Param.Byte[1] = Parameter_UserParam2; |
170 | ToNaviCtrl.Param.Byte[1] = Parameter_UserParam2; |
175 | ToNaviCtrl.Param.Byte[2] = Parameter_UserParam3; |
171 | ToNaviCtrl.Param.Byte[2] = Parameter_UserParam3; |
176 | ToNaviCtrl.Param.Byte[3] = Parameter_UserParam4; |
172 | ToNaviCtrl.Param.Byte[3] = Parameter_UserParam4; |
177 | ToNaviCtrl.Param.Byte[4] = Parameter_UserParam5; |
173 | ToNaviCtrl.Param.Byte[4] = Parameter_UserParam5; |
Line 183... | Line 179... | ||
183 | ToNaviCtrl.Param.Byte[9] = (unsigned char) UBat; |
179 | ToNaviCtrl.Param.Byte[9] = (unsigned char) UBat; |
184 | ToNaviCtrl.Param.Byte[10] =(unsigned char) BattLowVoltageWarning; |
180 | ToNaviCtrl.Param.Byte[10] =(unsigned char) BattLowVoltageWarning; |
185 | ToNaviCtrl.Param.Byte[11] =(unsigned char) eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]); |
181 | ToNaviCtrl.Param.Byte[11] =(unsigned char) eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]); |
186 | break; |
182 | break; |
Line 187... | Line 183... | ||
187 | 183 | ||
188 | case SPI_CMD_PARAMETER1: |
184 | case SPI_FCCMD_PARAMETER1: |
189 | ToNaviCtrl.Param.Byte[0] = EE_Parameter.NaviGpsModeControl; // Parameters for the Naviboard |
185 | ToNaviCtrl.Param.Byte[0] = EE_Parameter.NaviGpsModeControl; // Parameters for the Naviboard |
190 | ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviGpsGain; |
186 | ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviGpsGain; |
191 | ToNaviCtrl.Param.Byte[2] = EE_Parameter.NaviGpsP; |
187 | ToNaviCtrl.Param.Byte[2] = EE_Parameter.NaviGpsP; |
192 | ToNaviCtrl.Param.Byte[3] = EE_Parameter.NaviGpsI; |
188 | ToNaviCtrl.Param.Byte[3] = EE_Parameter.NaviGpsI; |
Line 198... | Line 194... | ||
198 | ToNaviCtrl.Param.Byte[9] = EE_Parameter.NaviWindCorrection; |
194 | ToNaviCtrl.Param.Byte[9] = EE_Parameter.NaviWindCorrection; |
199 | ToNaviCtrl.Param.Byte[10] = EE_Parameter.NaviSpeedCompensation; |
195 | ToNaviCtrl.Param.Byte[10] = EE_Parameter.NaviSpeedCompensation; |
200 | ToNaviCtrl.Param.Byte[11] = EE_Parameter.NaviAngleLimitation; |
196 | ToNaviCtrl.Param.Byte[11] = EE_Parameter.NaviAngleLimitation; |
201 | break; |
197 | break; |
Line 202... | Line 198... | ||
202 | 198 | ||
203 | case SPI_CMD_STICK: |
199 | case SPI_FCCMD_STICK: |
204 | cli(); |
200 | cli(); |
205 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
201 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
206 | ToNaviCtrl.Param.Byte[0] = (char) tmp; |
202 | ToNaviCtrl.Param.Byte[0] = (char) tmp; |
207 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
203 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
Line 218... | Line 214... | ||
218 | ToNaviCtrl.Param.Byte[8] = (unsigned char) Poti[4]; |
214 | ToNaviCtrl.Param.Byte[8] = (unsigned char) Poti[4]; |
219 | ToNaviCtrl.Param.Byte[9] = (unsigned char) Poti[5]; |
215 | ToNaviCtrl.Param.Byte[9] = (unsigned char) Poti[5]; |
220 | ToNaviCtrl.Param.Byte[10] = (unsigned char) Poti[6]; |
216 | ToNaviCtrl.Param.Byte[10] = (unsigned char) Poti[6]; |
221 | ToNaviCtrl.Param.Byte[11] = (unsigned char) Poti[7]; |
217 | ToNaviCtrl.Param.Byte[11] = (unsigned char) Poti[7]; |
222 | break; |
218 | break; |
223 | case SPI_CMD_MISC: |
219 | case SPI_FCCMD_MISC: |
224 | if(WinkelOut.CalcState > 5) |
220 | if(WinkelOut.CalcState > 5) |
225 | { |
221 | { |
226 | WinkelOut.CalcState = 0; |
222 | WinkelOut.CalcState = 0; |
227 | ToNaviCtrl.Param.Byte[0] = 5; |
223 | ToNaviCtrl.Param.Byte[0] = 5; |
228 | } |
224 | } |
Line 235... | Line 231... | ||
235 | ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviGpsDLimit; |
231 | ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviGpsDLimit; |
236 | ToNaviCtrl.Param.Byte[9] = (unsigned char) SenderOkay; |
232 | ToNaviCtrl.Param.Byte[9] = (unsigned char) SenderOkay; |
237 | ToNaviCtrl.Param.Byte[10] = (unsigned char) SenderRSSI; |
233 | ToNaviCtrl.Param.Byte[10] = (unsigned char) SenderRSSI; |
238 | ToNaviCtrl.Param.Byte[11] = DebugOut.Analog[7] / 4; //GasMischanteil |
234 | ToNaviCtrl.Param.Byte[11] = DebugOut.Analog[7] / 4; //GasMischanteil |
239 | break; |
235 | break; |
240 | case SPI_CMD_VERSION: |
236 | case SPI_FCCMD_VERSION: |
241 | ToNaviCtrl.Param.Byte[0] = SPI_VersionInfo.Major; |
237 | ToNaviCtrl.Param.Byte[0] = VERSION_MAJOR; |
242 | ToNaviCtrl.Param.Byte[1] = SPI_VersionInfo.Minor; |
238 | ToNaviCtrl.Param.Byte[1] = VERSION_MINOR; |
243 | ToNaviCtrl.Param.Byte[2] = SPI_VersionInfo.Patch; |
239 | ToNaviCtrl.Param.Byte[2] = VERSION_PATCH; |
244 | ToNaviCtrl.Param.Byte[3] = SPI_VersionInfo.Compatible; |
240 | ToNaviCtrl.Param.Byte[3] = NC_SPI_COMPATIBLE; |
245 | ToNaviCtrl.Param.Byte[4] = PlatinenVersion; |
241 | ToNaviCtrl.Param.Byte[4] = PlatinenVersion; |
246 | break; |
242 | break; |
Line 247... | Line 243... | ||
247 | 243 | ||
248 | case SPI_CMD_SERVOS: |
244 | case SPI_FCCMD_SERVOS: |
249 | ToNaviCtrl.Param.Byte[0] = EE_Parameter.ServoNickRefresh; // Parameters for the Servo Control |
245 | ToNaviCtrl.Param.Byte[0] = EE_Parameter.ServoNickRefresh; // Parameters for the Servo Control |
250 | ToNaviCtrl.Param.Byte[1] = EE_Parameter.ServoCompInvert; |
246 | ToNaviCtrl.Param.Byte[1] = EE_Parameter.ServoCompInvert; |
251 | ToNaviCtrl.Param.Byte[2] = Parameter_ServoNickControl; |
247 | ToNaviCtrl.Param.Byte[2] = Parameter_ServoNickControl; |
252 | ToNaviCtrl.Param.Byte[3] = EE_Parameter.ServoNickComp; |
248 | ToNaviCtrl.Param.Byte[3] = EE_Parameter.ServoNickComp; |
Line 272... | Line 268... | ||
272 | 268 | ||
Line 273... | Line 269... | ||
273 | if(FromNaviCtrl.BeepTime > beeptime && !WinkelOut.CalcState) beeptime = FromNaviCtrl.BeepTime; |
269 | if(FromNaviCtrl.BeepTime > beeptime && !WinkelOut.CalcState) beeptime = FromNaviCtrl.BeepTime; |
274 | 270 | ||
275 | switch (FromNaviCtrl.Command) |
271 | switch (FromNaviCtrl.Command) |
276 | { |
272 | { |
277 | case SPI_KALMAN: |
273 | case SPI_NCCMD_KALMAN: |
278 | FromNaviCtrl_Value.Kalman_K = FromNaviCtrl.Param.sByte[0]; |
274 | FromNaviCtrl_Value.Kalman_K = FromNaviCtrl.Param.sByte[0]; |
279 | FromNaviCtrl_Value.Kalman_MaxFusion = FromNaviCtrl.Param.sByte[1]; |
275 | FromNaviCtrl_Value.Kalman_MaxFusion = FromNaviCtrl.Param.sByte[1]; |
280 | FromNaviCtrl_Value.Kalman_MaxDrift = FromNaviCtrl.Param.sByte[2]; |
276 | FromNaviCtrl_Value.Kalman_MaxDrift = FromNaviCtrl.Param.sByte[2]; |
281 | FromNaviCtrl_Value.SerialDataOkay = FromNaviCtrl.Param.Byte[3]; |
277 | FromNaviCtrl_Value.SerialDataOkay = FromNaviCtrl.Param.Byte[3]; |
- | 278 | FromNaviCtrl_Value.GpsZ = FromNaviCtrl.Param.Byte[4]; |
|
- | 279 | break; |
|
- | 280 | ||
- | 281 | case SPI_NCCMD_VERSION: |
|
- | 282 | NC_Version.Major = FromNaviCtrl.Param.Byte[0]; |
|
- | 283 | NC_Version.Minor = FromNaviCtrl.Param.Byte[1]; |
|
- | 284 | NC_Version.Patch = FromNaviCtrl.Param.Byte[2]; |
|
- | 285 | NC_Version.Compatible = FromNaviCtrl.Param.Byte[3]; |
|
282 | FromNaviCtrl_Value.GpsZ = FromNaviCtrl.Param.Byte[4]; |
286 | NC_Version.Hardware = FromNaviCtrl.Param.Byte[4]; |
283 | break; |
287 | break; |
284 | default: |
288 | default: |
285 | break; |
289 | break; |
286 | } |
290 | } |