Garmin Fleet Management Controller  2.19.0
CDashcamDlg.cpp
Go to the documentation of this file.
1 /*********************************************************************
2 *
3 * MODULE NAME:
4 * CDashcamDlg.cpp
5 *
6 * Copyright 2015 by Garmin Ltd. or its subsidiaries.
7 *---------------------------------------------------------------------
8 * $NoKeywords$
9 *********************************************************************/
10 #include "stdafx.h"
11 #include "CDashcamDlg.h"
12 #include "Event.h"
13 #include "util.h"
14 
15 #if( FMI_SUPPORT_A622 )
16 
17 // CDashcamDlg dialog
18 
19 IMPLEMENT_DYNAMIC(CDashcamDlg, CDialog)
20 
21 BEGIN_MESSAGE_MAP(CDashcamDlg, CDialog)
22  ON_MESSAGE( WM_EVENT( EVENT_FMI_DASHCAM_LOCK_RECEIPT ), OnDashcamLockReceipt )
23  ON_MESSAGE( WM_EVENT( EVENT_FMI_DASHCAM_CONFIG_RECEIPT ), OnDashcamConfigReceipt )
24  ON_MESSAGE( WM_EVENT( EVENT_FMI_DASHCAM_GET_SETTINGS_RESPONSE ), OnDashcamGetSettingsResponse )
25  ON_BN_CLICKED( IDC_LOCK_DASHCAM_SETTINGS, OnReevaluateLock )
26  ON_BN_CLICKED( IDC_UNLOCK_DASHCAM_SETTINGS, OnReevaluateLock )
27  ON_BN_CLICKED( IDC_LOCK_ASSIST_SETTINGS, OnReevaluateLock )
28  ON_BN_CLICKED( IDC_UNLOCK_ASSIST_SETTINGS, OnReevaluateLock )
29  ON_BN_CLICKED( IDC_ENABLE_FORWARD_COLLISION, OnReevaluate )
30  ON_BN_CLICKED( IDC_DISABLE_FORWARD_COLLISION, OnReevaluate )
31  ON_LBN_SELCHANGE( IDC_FWD_COLLISION_SENSITIVITY, OnReevaluate )
32  ON_BN_CLICKED( IDC_ENABLE_LANE_DEPARTURE_WARNING, OnReevaluate )
33  ON_BN_CLICKED( IDC_DISABLE_LANE_DEPARTURE_WARNING, OnReevaluate )
34  ON_BN_CLICKED( IDC_ENABLE_RECORD_ON_STARTUP, OnReevaluate )
35  ON_BN_CLICKED( IDC_DISABLE_RECORD_ON_STARTUP, OnReevaluate )
36  ON_BN_CLICKED( IDC_ENABLE_INCIDENT_DETECTION, OnReevaluate )
37  ON_BN_CLICKED( IDC_DISABLE_INCIDENT_DETECTION, OnReevaluate )
38  ON_BN_CLICKED( IDC_ENABLE_RECORD_AUDIO, OnReevaluate )
39  ON_BN_CLICKED( IDC_DISABLE_RECORD_AUDIO, OnReevaluate )
40  ON_BN_CLICKED( IDC_ENABLE_DATA_OVERLAY_DATE_TIME, OnReevaluate )
41  ON_BN_CLICKED( IDC_DISABLE_DATA_OVERLAY_DATE_TIME, OnReevaluate )
42  ON_BN_CLICKED( IDC_ENABLE_DATA_OVERLAY_LOCATION_SPEED, OnReevaluate )
43  ON_BN_CLICKED( IDC_DISABLE_DATA_OVERLAY_LOCATION_SPEED, OnReevaluate )
44  ON_BN_CLICKED( IDC_MEDIUM_VIDEO_RESOLUTION, OnReevaluate )
45  ON_BN_CLICKED( IDC_HIGH_VIDEO_RESOLUTION, OnReevaluate )
46  ON_LBN_SELCHANGE( IDC_RECORD_AFTER_POWER_LOSS, OnReevaluate )
47  ON_BN_CLICKED( IDC_DASHCAM_REFRESH_SETTINGS, OnRefreshSettings )
48  ON_BN_CLICKED( IDOK, OnBnClickedSet )
49  ON_BN_CLICKED( IDC_DASHCAM_SEND_SELECT_ALL, OnBnClickedSelectAll )
50  ON_BN_CLICKED( IDCANCEL, OnClose )
51  ON_BN_CLICKED( IDC_DASHCAM_SET_LOCK, OnBnClickedSetLock )
52  ON_BN_CLICKED( IDC_DASHCAM_SEND_SELECT_ALL, OnReevaluate )
53  ON_BN_CLICKED( IDC_DASHCAM_SEND_COLLISION_WARNING, OnReevaluate )
54  ON_BN_CLICKED( IDC_DASHCAM_SEND_COLLISION_SENSITIVITY, OnReevaluate )
55  ON_BN_CLICKED( IDC_DASHCAM_SEND_LANE_DEPARTURE, OnReevaluate )
56  ON_BN_CLICKED( IDC_DASHCAM_SEND_RECORD_ON_STARTUP, OnReevaluate )
57  ON_BN_CLICKED( IDC_DASHCAM_SEND_INCIDENT_DETECTION, OnReevaluate )
58  ON_BN_CLICKED( IDC_DASHCAM_SEND_RECORD_AUDIO, OnReevaluate )
59  ON_BN_CLICKED( IDC_DASHCAM_SEND_DATA_OVERLAY_DATE_TIME, OnReevaluate )
60  ON_BN_CLICKED( IDC_DASHCAM_SEND_DATA_OVERLAY_LOCATION_SPEED, OnReevaluate )
61  ON_BN_CLICKED( IDC_DASHCAM_SEND_VIDEO_RESOLUTION, OnReevaluate )
62  ON_BN_CLICKED( IDC_DASHCAM_SEND_RECORD_AFTER_POWER_LOSS, OnReevaluate )
63 
64 END_MESSAGE_MAP()
65 
66 //----------------------------------------------------------------------
70 //----------------------------------------------------------------------
71 CDashcamDlg::CDashcamDlg
72  (
73  CWnd * aParent,
74  FmiApplicationLayer & aCom
75  )
76  : CDialog( CDashcamDlg::IDD, aParent )
77  , mCom( aCom )
78  , mLockDashcam( -1 )
79  , mLockAssist( -1 )
80  , mForwardCollision( -1 )
81  , mCollisionSensitivity( -1 )
82  , mLaneDeparture( -1 )
83  , mRecordOnStartup( -1 )
84  , mIncidentDetection( -1 )
85  , mRecordAudio( -1 )
86  , mDataOverlayDateTime( -1 )
87  , mDataOverlayLocationSpeed( -1 )
88  , mVideoResolution( -1 )
89  , mRecordAfterPowerLoss( -1 )
90  , mSelectAll( FALSE )
91  , mSendCollisionWarning( FALSE )
92  , mSendCollisionSensitivity( FALSE )
93  , mSendLaneDeparture( FALSE )
94  , mSendRecordOnStartup( FALSE )
95  , mSendIncidentDetection( FALSE )
96  , mSendRecordAudio( FALSE )
97  , mSendDataOverlayDateTime( FALSE )
98  , mSendDataOverlayLocationSpeed( FALSE )
99  , mSendVideoResolution( FALSE )
100  , mSendRecordAfterPowerLoss( FALSE )
101 {
102 }
103 
104 //----------------------------------------------------------------------
106 //----------------------------------------------------------------------
108 {
109 }
110 
111 //----------------------------------------------------------------------
117 //----------------------------------------------------------------------
119 {
120  CDialog::OnInitDialog();
121 
122  UpdateData( FALSE );
123  return TRUE;
124 } /* OnInitDialog() */
125 
126 //----------------------------------------------------------------------
129 //----------------------------------------------------------------------
131  (
132  CDataExchange * aDataExchange
133  )
134 {
135  CDialog::DoDataExchange( aDataExchange );
136 
137  DDX_Radio( aDataExchange, IDC_UNLOCK_DASHCAM_SETTINGS, mLockDashcam );
138  DDX_Radio( aDataExchange, IDC_UNLOCK_ASSIST_SETTINGS, mLockAssist );
139  DDX_Radio( aDataExchange, IDC_DISABLE_FORWARD_COLLISION, mForwardCollision );
140  DDX_CBIndex( aDataExchange, IDC_FWD_COLLISION_SENSITIVITY, mCollisionSensitivity );
141  DDX_Radio( aDataExchange, IDC_DISABLE_LANE_DEPARTURE_WARNING, mLaneDeparture );
142  DDX_Radio( aDataExchange, IDC_DISABLE_RECORD_ON_STARTUP, mRecordOnStartup );
143  DDX_Radio( aDataExchange, IDC_DISABLE_INCIDENT_DETECTION, mIncidentDetection );
144  DDX_Radio( aDataExchange, IDC_DISABLE_RECORD_AUDIO, mRecordAudio );
145  DDX_Radio( aDataExchange, IDC_DISABLE_DATA_OVERLAY_DATE_TIME, mDataOverlayDateTime );
147  DDX_Radio( aDataExchange, IDC_HIGH_VIDEO_RESOLUTION, mVideoResolution );
148  DDX_CBIndex( aDataExchange, IDC_RECORD_AFTER_POWER_LOSS, mRecordAfterPowerLoss );
149  DDX_Check( aDataExchange, IDC_DASHCAM_SEND_SELECT_ALL, mSelectAll );
150  DDX_Check( aDataExchange, IDC_DASHCAM_SEND_COLLISION_WARNING, mSendCollisionWarning );
152  DDX_Check( aDataExchange, IDC_DASHCAM_SEND_LANE_DEPARTURE, mSendLaneDeparture );
153  DDX_Check( aDataExchange, IDC_DASHCAM_SEND_RECORD_ON_STARTUP, mSendRecordOnStartup );
154  DDX_Check( aDataExchange, IDC_DASHCAM_SEND_INCIDENT_DETECTION, mSendIncidentDetection );
155  DDX_Check( aDataExchange, IDC_DASHCAM_SEND_RECORD_AUDIO, mSendRecordAudio );
158  DDX_Check( aDataExchange, IDC_DASHCAM_SEND_VIDEO_RESOLUTION, mSendVideoResolution );
160 }
161 
162 //----------------------------------------------------------------------
166 //----------------------------------------------------------------------
168 {
170  memset( &message, 0, sizeof( message ) );
171  UpdateData();
172 
173  if( -1 != mLockDashcam && -1 != mLockAssist )
174  {
176  message.lock_change = (boolean) mLockDashcam;
178  mCom.sendFmiPacket( FMI_DASHCAM_SETTINGS_LOCK_REQUEST, (uint8*)&message, sizeof( message ) );
179  }
180 }
181 
182 //----------------------------------------------------------------------
186 //----------------------------------------------------------------------
188 {
189  UpdateData( TRUE );
191  getSettings.change_id = GetTickCount();
192  mCom.sendFmiPacket( FMI_DASHCAM_GET_SETTINGS_REQUEST, (uint8*)&getSettings, sizeof( getSettings) );
193  UpdateData( FALSE );
194 }
195 
196 //----------------------------------------------------------------------
200 //----------------------------------------------------------------------
202 {
204  memset( &setConfig, 0, sizeof( setConfig ) );
205  setConfig.settings_count = 0;
206 
208  {
209  setConfig.change_id = GetTickCount();
212  setConfig.settings_count++;
213  }
214 
216  {
217  setConfig.change_id = GetTickCount();
220  setConfig.settings_count++;
221  }
222 
223  if( -1 != mLaneDeparture && mSendLaneDeparture )
224  {
225  setConfig.change_id = GetTickCount();
227  setConfig.settings_list[setConfig.settings_count].new_value = (uint8) mLaneDeparture;
228  setConfig.settings_count++;
229  }
230 
232  {
233  setConfig.change_id = GetTickCount();
236  setConfig.settings_count++;
237  }
238 
240  {
241  setConfig.change_id = GetTickCount();
244  setConfig.settings_count++;
245  }
246 
247  if( -1 != mRecordAudio && mSendRecordAudio )
248  {
249  setConfig.change_id = GetTickCount();
251  setConfig.settings_list[setConfig.settings_count].new_value = (uint8) mRecordAudio;
252  setConfig.settings_count++;
253  }
254 
256  {
257  setConfig.change_id = GetTickCount();
260  setConfig.settings_count++;
261  }
262 
264  {
265  setConfig.change_id = GetTickCount();
268  setConfig.settings_count++;
269  }
270 
272  {
273  setConfig.change_id = GetTickCount();
276  setConfig.settings_count++;
277  }
278 
280  {
281  setConfig.change_id = GetTickCount();
284  setConfig.settings_count++;
285  }
286 
287  if( setConfig.settings_count )
288  {
289  mCom.sendFmiPacket( FMI_DASHCAM_CONFIG_REQUEST, (uint8*)&setConfig, sizeof( setConfig ) );
290  }
291 } /* OnBnClickedSet () */
292 
293 //----------------------------------------------------------------------
296 //----------------------------------------------------------------------
298 {
299  UpdateData( TRUE );
310  UpdateData( FALSE );
311 
312  OnReevaluate();
313 }
314 
315 //----------------------------------------------------------------------
318 //----------------------------------------------------------------------
320 {
321  UpdateData( TRUE );
322  mLockDashcam = -1;
323  mLockAssist = -1;
324  mForwardCollision = -1;
326  mLaneDeparture = -1;
327  mRecordOnStartup = -1;
328  mIncidentDetection = -1;
329  mRecordAudio = -1;
332  mVideoResolution = -1;
334  mSelectAll = FALSE;
345  UpdateData( FALSE );
346 
347  CDialog::OnCancel();
348 } /* OnClose() */
349 
350 //----------------------------------------------------------------------
353 //----------------------------------------------------------------------
355 {
356  CDialog::PostNcDestroy();
357 } /* PostNcDestroy() */
358 
359 //----------------------------------------------------------------------
361 //----------------------------------------------------------------------
362 LRESULT CDashcamDlg::OnDashcamLockReceipt ( WPARAM return_code, LPARAM )
363 {
364  CString message;
365 
366  if( DASHCAM_SUCCESS == return_code )
367  {
368  message.Format( _T( "Camera settings successfully locked/unlocked" ) );
369  MessageBox( message, _T( "Camera Settings Success" ), MB_OK | MB_ICONINFORMATION );
370  }
371  else
372  {
373  postFailure( (uint8) return_code );
374  }
375  return 0;
376 }
377 
378 //----------------------------------------------------------------------
380 //----------------------------------------------------------------------
381 LRESULT CDashcamDlg::OnDashcamConfigReceipt ( WPARAM return_code, LPARAM )
382 {
383  CString message;
384 
385  if( DASHCAM_SUCCESS == return_code )
386  {
387  message.Format( _T( "Camera settings configuration successfully updated." ) );
388  MessageBox( message, _T( "Camera Settings Success" ), MB_OK | MB_ICONINFORMATION );
389  }
390  else
391  {
392  postFailure( (uint8) return_code );
393  }
394  return 0;
395 }
396 
397 //----------------------------------------------------------------------
399 //----------------------------------------------------------------------
400 LRESULT CDashcamDlg::OnDashcamGetSettingsResponse ( WPARAM return_code, LPARAM response_data )
401 {
402  CString message;
403 
404  if( DASHCAM_SUCCESS == return_code )
405  {
406  message.Format( _T( "Camera settings successfully updated." ) );
407  MessageBox( message, _T( "Refresh Settings Success" ), MB_OK | MB_ICONINFORMATION );
408 
410 
411  for( int i=0; i<messageEvent.settings_count; i++ )
412  {
413  UpdateData( TRUE );
414 
415  switch(messageEvent.settings_list[i].setting_id)
416  {
418  {
419  mForwardCollision = messageEvent.settings_list[i].new_value;
420  break;
421  }
423  {
425  break;
426  }
428  {
429  mLaneDeparture = messageEvent.settings_list[i].new_value;
430  break;
431  }
433  {
434  mRecordOnStartup = messageEvent.settings_list[i].new_value;
435  break;
436  }
438  {
439  mIncidentDetection = messageEvent.settings_list[i].new_value;
440  break;
441  }
443  {
444  mRecordAudio = messageEvent.settings_list[i].new_value;
445  break;
446  }
448  {
449  mDataOverlayDateTime = messageEvent.settings_list[i].new_value;
450  break;
451  }
453  {
455  break;
456  }
458  {
459  mVideoResolution = messageEvent.settings_list[i].new_value;
460  break;
461  }
463  {
465  break;
466  }
467  }
468  UpdateData( FALSE );
469  }
470  }
471  else
472  {
473  postFailure( (uint8) return_code );
474  }
475  return 0;
476 }
477 
478 //----------------------------------------------------------------------
481 //----------------------------------------------------------------------
483 {
484  UpdateData();
485  //checks to make sure a send is checked with a corrosponding setting entered.
486  //if so, set button enabled, if not, set button disabled.
487  if( ( mSendCollisionWarning && ( -1 != mForwardCollision ) ) ||
489  ( mSendLaneDeparture && ( -1 != mLaneDeparture ) ) ||
490  ( mSendRecordOnStartup && ( -1 != mRecordOnStartup ) ) ||
491  ( mSendIncidentDetection && ( -1 != mIncidentDetection ) ) ||
492  ( mSendRecordAudio && ( -1 != mRecordAudio ) ) ||
495  ( mSendVideoResolution && ( -1 != mVideoResolution ) ) ||
497  {
498  GetDlgItem( IDOK )->EnableWindow();
499  }
500  else
501  {
502  GetDlgItem( IDOK )->EnableWindow( FALSE );
503  }
504 }
505 
506 //----------------------------------------------------------------------
509 //----------------------------------------------------------------------
511 {
512  UpdateData();
513 
514  if( ( -1 != mLockDashcam ) &&
515  ( -1 != mLockAssist ) )
516  {
517  GetDlgItem( IDC_DASHCAM_SET_LOCK )->EnableWindow();
518  }
519  else
520  {
521  GetDlgItem( IDC_DASHCAM_SET_LOCK )->EnableWindow( FALSE );
522  }
523 }
524 
525 void CDashcamDlg::postFailure( uint8 return_code )
526 {
527 
528  CString message;
529  switch( return_code )
530  {
532  {
533  message.Format( _T( "Camera settings failure due to Power Loss Settings out of range." ) );
534  MessageBox( message, _T( "Camera Settings Failure" ), MB_OK | MB_ICONINFORMATION );
535  break;
536  }
538  {
539  message.Format( _T( "Camera settings failure due to recorder resolution out of range." ) );
540  MessageBox( message, _T( "Camera Settings Failure" ), MB_OK | MB_ICONINFORMATION );
541  break;
542  }
544  {
545  message.Format( _T( "Camera settings failure due to forward collision warning sensitivity out of range." ) );
546  MessageBox( message, _T( "Camera Settings Failure" ), MB_OK | MB_ICONINFORMATION );
547  break;
548  }
550  {
551  message.Format( _T( "Camera settings failure due to setting ID out of range." ) );
552  MessageBox( message, _T( "Camera Settings Failure" ), MB_OK | MB_ICONINFORMATION );
553  break;
554  }
555  default:
556  {
557  message.Format( _T( "Camera settings failure." ) );
558  MessageBox( message, _T( "Camera Settings Failure" ), MB_OK | MB_ICONINFORMATION );
559  break;
560  }
561  }
562 }
563 #endif
#define IDC_HIGH_VIDEO_RESOLUTION
Definition: resource.h:537
#define IDC_DASHCAM_SEND_LANE_DEPARTURE
Definition: resource.h:544
virtual ~CDashcamDlg()
Destructor.
BOOL OnInitDialog()
Initialize the dialog.
#define IDC_DASHCAM_SEND_RECORD_ON_STARTUP
Definition: resource.h:543
#define IDC_DISABLE_LANE_DEPARTURE_WARNING
Definition: resource.h:525
int mRecordOnStartup
Definition: CDashcamDlg.h:64
#define IDC_ENABLE_FORWARD_COLLISION
Definition: resource.h:521
int mIncidentDetection
Definition: CDashcamDlg.h:65
BOOL mSendDataOverlayLocationSpeed
Definition: CDashcamDlg.h:79
BOOL mSendCollisionSensitivity
Definition: CDashcamDlg.h:73
#define IDC_DASHCAM_SEND_INCIDENT_DETECTION
Definition: resource.h:545
void OnBnClickedSelectAll()
Handler for the select all check.
int mVideoResolution
Definition: CDashcamDlg.h:69
#define IDC_ENABLE_RECORD_ON_STARTUP
Definition: resource.h:526
#define IDC_LOCK_ASSIST_SETTINGS
Definition: resource.h:519
#define IDC_ENABLE_RECORD_AUDIO
Definition: resource.h:530
FmiApplicationLayer & mCom
Reference to the FMI communication controller.
Definition: CDashcamDlg.h:55
#define IDC_LOCK_DASHCAM_SETTINGS
Definition: resource.h:517
void OnReevaluate()
Change handler for editable controls.
#define IDC_MEDIUM_VIDEO_RESOLUTION
Definition: resource.h:536
int mLaneDeparture
Definition: CDashcamDlg.h:63
#define IDC_UNLOCK_ASSIST_SETTINGS
Definition: resource.h:520
void sendFmiPacket(uint16 aFmiPacketId, uint8 *aFmiPayload, uint8 aFmiPayloadSize)
Send an arbitrary FMI packet.
#define IDC_ENABLE_DATA_OVERLAY_DATE_TIME
Definition: resource.h:532
Data type for Dashcam Lock Settings Packet ID (0X1600) from server to client.
Definition: fmi.h:2248
Data type for Dashcam Get Settings Packet ID (0X1604, 0X1608) from server to client.
Definition: fmi.h:2283
BOOL mSendRecordOnStartup
Definition: CDashcamDlg.h:75
BOOL mSendRecordAudio
Definition: CDashcamDlg.h:77
#define IDC_DASHCAM_SEND_DATA_OVERLAY_LOCATION_SPEED
Definition: resource.h:548
#define FALSE
Definition: garmin_types.h:46
#define IDC_DASHCAM_SET_LOCK
Definition: resource.h:7
#define IDC_DISABLE_FORWARD_COLLISION
Definition: resource.h:522
Browser-based container for listing the Dashcam library.
Definition: CDashcamDlg.h:21
unsigned char boolean
8-bit value representing FALSE (0) or TRUE (nonzero)
Definition: garmin_types.h:52
#define IDC_FWD_COLLISION_SENSITIVITY
Definition: resource.h:523
#define IDC_DISABLE_DATA_OVERLAY_LOCATION_SPEED
Definition: resource.h:535
void PostNcDestroy()
Called by MFC after the window has been destroyed; performs final termination activities.
#define TRUE
Definition: garmin_types.h:45
BOOL mSendVideoResolution
Definition: CDashcamDlg.h:80
int mDataOverlayDateTime
Definition: CDashcamDlg.h:67
BOOL mSelectAll
Definition: CDashcamDlg.h:71
int mCollisionSensitivity
Definition: CDashcamDlg.h:62
#define IDC_DISABLE_INCIDENT_DETECTION
Definition: resource.h:529
void OnBnClickedSetLock()
Button handler for the Set Lock button pressed.
#define IDC_ENABLE_DATA_OVERLAY_LOCATION_SPEED
Definition: resource.h:534
void OnRefreshSettings()
Button handler for the Refresh Settings button.
Data type for Dashcam Get Settings Packet ID (0X1605) from client to server.
Definition: fmi.h:2290
BOOL mSendIncidentDetection
Definition: CDashcamDlg.h:76
BOOL mSendLaneDeparture
Definition: CDashcamDlg.h:74
Serial communication controller for Garmin and FMI packets.
#define IDC_ENABLE_INCIDENT_DETECTION
Definition: resource.h:528
#define IDC_RECORD_AFTER_POWER_LOSS
Definition: resource.h:538
#define IDC_DISABLE_RECORD_AUDIO
Definition: resource.h:531
#define IDC_ENABLE_LANE_DEPARTURE_WARNING
Definition: resource.h:524
#define IDC_DASHCAM_SEND_RECORD_AFTER_POWER_LOSS
Definition: resource.h:550
BOOL mSendDataOverlayDateTime
Definition: CDashcamDlg.h:78
#define IDC_DISABLE_DATA_OVERLAY_DATE_TIME
Definition: resource.h:533
void OnClose()
Handler for the Close action.
#define IDC_UNLOCK_DASHCAM_SETTINGS
Definition: resource.h:518
__packed struct fmi_dashcam_settings_list settings_list[30]
Definition: fmi.h:2295
BOOL mSendRecordAfterPowerLoss
Definition: CDashcamDlg.h:81
void postFailure(uint8)
void OnBnClickedSet()
Button handler for the Set button.
int mLockAssist
Definition: CDashcamDlg.h:60
#define IDC_DASHCAM_SEND_SELECT_ALL
Definition: resource.h:556
#define IDC_DASHCAM_SEND_COLLISION_WARNING
Definition: resource.h:552
Data type for Dashcam Configure Settings Packet ID (0X1602) from server to client.
Definition: fmi.h:2274
unsigned char uint8
8-bit unsigned integer
Definition: garmin_types.h:62
afx_msg LRESULT OnDashcamGetSettingsResponse(WPARAM, LPARAM)
This function handles dashcam get settings receipt event from device.
time_type UTIL_get_current_garmin_time()
Get the current server time in Garmin format.
Definition: util.cpp:603
void OnReevaluateLock()
Change handler for editable controls.
BOOL mSendCollisionWarning
Definition: CDashcamDlg.h:72
#define WM_EVENT(_event)
Translation from an application event to the corresponding Windows message.
afx_msg LRESULT OnDashcamConfigReceipt(WPARAM, LPARAM)
This function handles the dashcam set configuration receipt event from device.
afx_msg LRESULT OnDashcamLockReceipt(WPARAM, LPARAM)
This function handles the dashcam lock/unlock receipt event from device.
#define IDC_DASHCAM_SEND_VIDEO_RESOLUTION
Definition: resource.h:549
int mForwardCollision
Definition: CDashcamDlg.h:61
int mLockDashcam
Definition: CDashcamDlg.h:59
int mDataOverlayLocationSpeed
Definition: CDashcamDlg.h:68
#define IDC_DASHCAM_SEND_DATA_OVERLAY_DATE_TIME
Definition: resource.h:547
#define IDC_DASHCAM_REFRESH_SETTINGS
Definition: resource.h:6
__packed struct fmi_dashcam_settings_list settings_list[30]
Definition: fmi.h:2278
#define IDC_DASHCAM_SEND_COLLISION_SENSITIVITY
Definition: resource.h:551
int mRecordAudio
Definition: CDashcamDlg.h:66
int mRecordAfterPowerLoss
Definition: CDashcamDlg.h:70
#define IDC_DISABLE_RECORD_ON_STARTUP
Definition: resource.h:527
#define IDC_DASHCAM_SEND_RECORD_AUDIO
Definition: resource.h:546
virtual void DoDataExchange(CDataExchange *pDX)
Perform dialog data exchange and validation.