TMPM4G9  V1.0.0.0
rmc.h
Go to the documentation of this file.
1 
13 /*------------------------------------------------------------------------------*/
14 /* Define to prevent recursive inclusion */
15 /*------------------------------------------------------------------------------*/
16 #ifndef __RMC_H
17 #define __RMC_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 /*------------------------------------------------------------------------------*/
24 /* Includes */
25 /*------------------------------------------------------------------------------*/
26 #include "txz_sample_def.h"
27 
37 /*------------------------------------------------------------------------------*/
38 /* Macro Function */
39 /*------------------------------------------------------------------------------*/
45 /* no define */
46  /* End of group UTILITIES_Private_macro */
50 
51 
52 /*------------------------------------------------------------------------------*/
53 /* Configuration */
54 /*------------------------------------------------------------------------------*/
60 /* no define */
61  /* End of group UTILITIES_Private_define */
65 
66 
67 /*------------------------------------------------------------------------------*/
68 /* Macro Definition */
69 /*------------------------------------------------------------------------------*/
81 #define RMC_LD_CYCLE_UP_LMT_MIN ((uint32_t)0x0000000)
82 #define RMC_LD_CYCLE_UP_LMT_MAX ((uint32_t)0x00000FF) /* End of group RMC_LeaderCycleUppderLimit */
86 
93 #define RMC_LD_CYCLE_LOW_LMT_MIN ((uint32_t)0x0000000)
94 #define RMC_LD_CYCLE_LOW_LMT_MAX ((uint32_t)0x00000FF) /* End of group RMC_LeaderCycleLowerLimit */
98 
105 #define RMC_LD_LOW_UP_LMT_MIN ((uint32_t)0x0000000)
106 #define RMC_LD_LOW_UP_LMT_MAX ((uint32_t)0x00000FF) /* End of group RMC_LeaderLowUppderLimit */
110 
117 #define RMC_LD_LOW_LOW_LMT_MIN ((uint32_t)0x0000000)
118 #define RMC_LD_LOW_LOW_LMT_MAX ((uint32_t)0x00000FF) /* End of group RMC_LeaderLowLowerLimit */
122 
128 #define RMC_LI_DISABLE ((uint32_t)0x00000000)
129 #define RMC_LI_ENABLE ((uint32_t)0x80000000) /* End of group RMC_LeaderInterrupt */
133 
139 #define RMC_EDI_DISABLE ((uint32_t)0x00000000)
140 #define RMC_EDI_ENABLE ((uint32_t)0x40000000) /* End of group RMC_FallingEdgeInterrupt */
144 
150 #define RMC_LD_DISABLE ((uint32_t)0x00000000)
151 #define RMC_LD_ENABLE ((uint32_t)0x02000000) /* End of group RMC_LeaderMode */
155 
161 #define RMC_PHM_DISABLE ((uint32_t)0x00000000)
162 #define RMC_PHM_ENABLE ((uint32_t)0x01000000) /* End of group RMC_PhaseMode */
166 
174 #define RMC_LL_MIN ((uint32_t)0x0000000)
175 #define RMC_LL_MAX ((uint32_t)0x00000FF) /* End of group RMC_RxEndIntTimingLow */
179 
187 #define RMC_DMAX_MIN ((uint32_t)0x0000000)
188 #define RMC_DMAX_MAX ((uint32_t)0x00000FF) /* End of group RMC_RxEndIntTimingDataBitCycle */
192 
200 #define RMC_THRESH_HIGH_MIN ((uint32_t)0x0000000)
201 #define RMC_THRESH_HIGH_MAX ((uint32_t)0x000007F) /* End of group RMC_ThresholdHigh */
205 
213 #define RMC_THRESH_LOW_MIN ((uint32_t)0x0000000)
214 #define RMC_THRESH_LOW_MAX ((uint32_t)0x000007F) /* End of group RMC_ThresholdLow */
218 
224 #define RMC_POLARITY_POSITIVE ((uint32_t)0x0000000)
225 #define RMC_POLARITY_NEGATIVE ((uint32_t)0x0000080) /* End of group RMC_Polarity */
229 
237 #define RMC_NOISE_REDUCTION_MIN ((uint32_t)0x0000000)
238 #define RMC_NOISE_REDUCTION_MAX ((uint32_t)0x000000F) /* End of group RMC_NoiseReduction */
242 
250 #define RMC_RX_DATA_BITS_MIN ((uint32_t)0x0000000)
251 #define RMC_RX_DATA_BITS_MAX ((uint32_t)0x0000048) /* End of group RMC_RxDataBits */
255 
261 #define RMC_CLK_LOW_SPEED ((uint32_t)0x00000000)
262 #define RMC_CLK_TIMER ((uint32_t)0x00000001) /* End of group RMC_SamplingClock */
266 
272 #define RMC_LD_INT_NO_OCCUR ((uint32_t)0x00000000)
273 #define RMC_LD_INT_OCCUR ((uint32_t)0x00008000) /* End of group RMC_LeaderInterruptFlag */
277 
283 #define RMC_LOW_INT_NO_OCCUR ((uint32_t)0x00000000)
284 #define RMC_LOW_INT_OCCUR ((uint32_t)0x00004000) /* End of group RMC_LowInterruptFlag */
288 
294 #define RMC_CYCLE_MAX_INT_NO_OCCUR ((uint32_t)0x00000000)
295 #define RMC_CYCLE_MAX_INT_OCCUR ((uint32_t)0x00002000) /* End of group RMC_CycleMaxInterruptFlag */
299 
305 #define RMC_FALL_EDGE_INT_NO_OCCUR ((uint32_t)0x00000000)
306 #define RMC_FALL_EDGE_INT_OCCUR ((uint32_t)0x00001000) /* End of group RMC_FallingEdgeInterruptFlag */
310 
316 #define RMC_REPEAT_CODE_INT_NO_OCCUR ((uint32_t)0x00000000)
317 #define RMC_REPEAT_CODE_INT_OCCUR ((uint32_t)0x00008000) /* End of group RMC_RepeatCodeInterruptFlag */
321 
326 #define RMC_REPEAT_CODE_NO_DETECT ((uint32_t)0x00000000)
327 #define RMC_REPEAT_CODE_DETECT ((uint32_t)0x00000080) /* End of group RMC_RepeatCodeDetection */
331 
336 #define RMC_LEADER_NO_DETECT ((uint32_t)0x00000000)
337 #define RMC_LEADER_DETECT ((uint32_t)0x00000080) /* End of group RMC_LeaderDetection */
341 
347 #define RMC_RX_BIT_NUM_MASK ((uint32_t)0x0000007F) /* End of group RMC_RxBitNum */
351 
357 #define RMC_DATA_BUFF_NUM (3UL) /* End of group RMC_DataBuffNum */
361  /* End of group UTILITIES_Private_define */
365 
366 /*------------------------------------------------------------------------------*/
367 /* Enumerated Type Definition */
368 /*------------------------------------------------------------------------------*/
374 /* no define */
375  /* End of group UTILITIES_Private_define */
379 
380 
381 /*------------------------------------------------------------------------------*/
382 /* Structure Definition */
383 /*------------------------------------------------------------------------------*/
388 /*----------------------------------*/
393 /*----------------------------------*/
394 typedef struct
395 {
396  uint32_t lcMax;
398  uint32_t lcMin;
400  uint32_t llMax;
402  uint32_t llMin;
405 
406 /*----------------------------------*/
411 /*----------------------------------*/
412 typedef struct
413 {
414  uint32_t lien;
416  uint32_t edien;
418  uint32_t cld;
420  uint32_t phim;
422  uint32_t ll;
424  uint32_t dmax;
427 
428 /*----------------------------------*/
433 /*----------------------------------*/
434 typedef struct
435 {
436  uint32_t dath;
438  uint32_t datl;
441 
442 /*----------------------------------*/
447 /*----------------------------------*/
448 typedef struct
449 {
450  uint32_t po;
452  uint32_t nc;
455 
456 /*----------------------------------*/
461 /*----------------------------------*/
462 typedef struct
463 {
464  uint32_t end1;
466 } rmc_end1_t;
467 
468 /*----------------------------------*/
473 /*----------------------------------*/
474 typedef struct
475 {
476  uint32_t end2;
478 } rmc_end2_t;
479 
480 /*----------------------------------*/
485 /*----------------------------------*/
486 typedef struct
487 {
488  uint32_t end3;
490 } rmc_end3_t;
491 
492 /*----------------------------------*/
497 /*----------------------------------*/
498 typedef struct
499 {
500  uint32_t clk;
502 } rmc_fssel_t;
503 
504 /*----------------------------------*/
509 /*----------------------------------*/
510 typedef struct
511 {
529 
530 /*----------------------------------*/
534 /*----------------------------------*/
535 typedef struct uart_handle
536 {
539 } rmc_t; /* End of group UTILITIES_Private_typedef */
543 
544 
545 /*------------------------------------------------------------------------------*/
546 /* Functions */
547 /*------------------------------------------------------------------------------*/
552 TXZ_Result rmc_init(rmc_t *p_obj);
553 TXZ_Result rmc_deinit(rmc_t *p_obj);
554 TXZ_Result rmc_enable(rmc_t *p_obj);
558 TXZ_Result rmc_get_status(rmc_t *p_obj, uint32_t *p_status);
559 TXZ_Result rmc_get_data(rmc_t *p_obj, uint32_t data[]); /* End of group UTILITIES_Exported_functions */
563  /* End of group UTILITIES */
567  /* End of group Example */
571 
572 #ifdef __cplusplus
573 }
574 #endif /* __cplusplus */
575 #endif /* __RMC_H */
576 
577 
Num of received end bit "2".
Definition: rmc.h:474
Receive Control Setting "3".
Definition: rmc.h:434
rmc_control1_t cnt1
Definition: rmc.h:512
rmc_fssel_t fssel
Definition: rmc.h:526
uint32_t end3
Definition: rmc.h:488
TSB_RMC_TypeDef * p_instance
Definition: rmc.h:537
uint32_t lcMin
Definition: rmc.h:398
TXZ_Result rmc_get_data(rmc_t *p_obj, uint32_t data[])
Get receive data.
Definition: rmc.c:936
rmc_control2_t cnt2
Definition: rmc.h:514
TXZ_Result
Definition: txz_driver_def.h:43
uint32_t llMin
Definition: rmc.h:402
RTC handle structure definenition.
Definition: bsp_rtc.h:309
rmc_end3_t end3
Definition: rmc.h:524
uint32_t llMax
Definition: rmc.h:400
Receive Control Setting "4".
Definition: rmc.h:448
uint32_t dmax
Definition: rmc.h:424
uint32_t nc
Definition: rmc.h:452
Receive Control Setting "1".
Definition: rmc.h:394
Initial setting structure definenition.
Definition: rmc.h:510
uint32_t clk
Definition: rmc.h:500
TXZ_Result rmc_rx_enable(rmc_t *p_obj)
Enable Receive.
Definition: rmc.c:830
Receive Control Setting "2".
Definition: rmc.h:412
uint32_t datl
Definition: rmc.h:438
TXZ_Result rmc_get_status(rmc_t *p_obj, uint32_t *p_status)
Get status.
Definition: rmc.c:902
Remote Control Signal Preprocessor (RMC)
Definition: TMPM4G6.h:1443
Select source clock.
Definition: rmc.h:498
TXZ_Result rmc_init(rmc_t *p_obj)
Construct object.
Definition: rmc.c:644
rmc_control4_t cnt4
Definition: rmc.h:518
uint32_t lcMax
Definition: rmc.h:396
uint32_t end1
Definition: rmc.h:464
TXZ_Result rmc_disable(rmc_t *p_obj)
Disable RMC.
Definition: rmc.c:800
rmc_initial_setting_t init
Definition: rmc.h:538
uint32_t lien
Definition: rmc.h:414
uint32_t po
Definition: rmc.h:450
uint32_t end2
Definition: rmc.h:476
uint32_t cld
Definition: rmc.h:418
Num of received end bit "3".
Definition: rmc.h:486
uint32_t dath
Definition: rmc.h:436
struct uart_handle rmc_t
RMC handle structure definenition.
uint32_t edien
Definition: rmc.h:416
rmc_end1_t end1
Definition: rmc.h:520
TXZ_Result rmc_rx_disable(rmc_t *p_obj)
Disable Receive.
Definition: rmc.c:860
uint32_t ll
Definition: rmc.h:422
rmc_end2_t end2
Definition: rmc.h:522
TXZ_Result rmc_enable(rmc_t *p_obj)
Enable RMC.
Definition: rmc.c:770
Num of received end bit "1".
Definition: rmc.h:462
rmc_control3_t cnt3
Definition: rmc.h:516
uint32_t phim
Definition: rmc.h:420
TXZ_Result rmc_deinit(rmc_t *p_obj)
Destruct object.
Definition: rmc.c:736