Revision c3c5444e
include/PKxxxExxx/v1/alld_PKxxxExxx_v1.h | ||
---|---|---|
35 | 35 |
/* CONSTANTS */ |
36 | 36 |
/******************************************************************************/ |
37 | 37 |
|
38 |
/** |
|
39 |
* @brief Specified frequency of the PKLCS1212E4001. |
|
40 |
*/ |
|
41 |
#define PKxxxExxx_LLD_FREQUENCY_SPEC 4000 |
|
42 |
|
|
43 |
/** |
|
44 |
* @brief Minimum frequency for the buzzer to sound. |
|
45 |
*/ |
|
46 |
#define PKxxxExxx_LLD_FREQUENCY_MIN 2000 |
|
47 |
|
|
48 |
/** |
|
49 |
* @brief Maximum frequency for the buzzer to sound. |
|
50 |
*/ |
|
51 |
#define PKxxxExxx_LLD_FREQUENCY_MAX 6000 |
|
52 |
|
|
53 | 38 |
/******************************************************************************/ |
54 | 39 |
/* SETTINGS */ |
55 | 40 |
/******************************************************************************/ |
... | ... | |
58 | 43 |
/* CHECKS */ |
59 | 44 |
/******************************************************************************/ |
60 | 45 |
|
46 |
#ifndef PKxxxExxx_LLD_FREQUENCY_SPEC |
|
47 |
#error "PKxxxExxx_LLD_FREQUENCY_SPEC not defined" |
|
48 |
#elif !(PKxxxExxx_LLD_FREQUENCY_SPEC > 0) |
|
49 |
#error "PKxxxExxx_LLD_FREQUENCY_SPEC set to invalid value" |
|
50 |
#endif |
|
51 |
|
|
52 |
#ifndef PKxxxExxx_LLD_FREQUENCY_MIN |
|
53 |
#warning "PKxxxExxx_LLD_FREQUENCY_MIN not defined (recommended)" |
|
54 |
#elif !(PKxxxExxx_LLD_FREQUENCY_MIN > 0) |
|
55 |
#error "PKxxxExxx_LLD_FREQUENCY_MIN set to invalid value" |
|
56 |
#endif |
|
57 |
|
|
58 |
#ifndef PKxxxExxx_LLD_FREQUENCY_MAX |
|
59 |
#warning "PKxxxExxx_LLD_FREQUENCY_MAX not defined (recommended)" |
|
60 |
#elif !(PKxxxExxx_LLD_FREQUENCY_MAX > 0) |
|
61 |
#error "PKxxxExxx_LLD_FREQUENCY_MAX set to invalid value" |
|
62 |
#endif |
|
63 |
|
|
61 | 64 |
/******************************************************************************/ |
62 | 65 |
/* DATA STRUCTURES AND TYPES */ |
63 | 66 |
/******************************************************************************/ |
source/PKxxxExxx/v1/alld_PKxxxExxx_v1.c | ||
---|---|---|
67 | 67 |
status |= apalPWMGetPeriod(pwm, &period); |
68 | 68 |
if (frequency / period == PKxxxExxx_LLD_FREQUENCY_SPEC) { |
69 | 69 |
status |= APAL_STATUS_OK; |
70 |
} else if (frequency / period >= PKxxxExxx_LLD_FREQUENCY_MIN && |
|
71 |
frequency / period <= PKxxxExxx_LLD_FREQUENCY_MAX) { |
|
70 |
} |
|
71 |
#if defined(PKxxxExxx_LLD_FREQUENCY_MIN) && !defined(PKxxxExxx_LLD_FREQUENCY_MAX) |
|
72 |
else if (frequency / period >= PKxxxExxx_LLD_FREQUENCY_MIN && |
|
73 |
frequency / period <= PKxxxExxx_LLD_FREQUENCY_SPEC) { |
|
72 | 74 |
status |= APAL_STATUS_WARNING; |
73 |
} else { |
|
75 |
} |
|
76 |
#elif !defined(PKxxxExxx_LLD_FREQUENCY_MIN) && defined(PKxxxExxx_LLD_FREQUENCY_MAX) |
|
77 |
else if (frequency / period >= PKxxxExxx_LLD_FREQUENCY_SPEC && |
|
78 |
frequency / period <= PKxxxExxx_LLD_FREQUENCY_MAX) { |
|
79 |
status |= APAL_STATUS_WARNING; |
|
80 |
} |
|
81 |
#elif defined(PKxxxExxx_LLD_FREQUENCY_MIN) && defined(PKxxxExxx_LLD_FREQUENCY_MAX) |
|
82 |
else if (frequency / period >= PKxxxExxx_LLD_FREQUENCY_MIN && |
|
83 |
frequency / period <= PKxxxExxx_LLD_FREQUENCY_MAX) { |
|
84 |
status |= APAL_STATUS_WARNING; |
|
85 |
} |
|
86 |
#endif |
|
87 |
else { |
|
74 | 88 |
status |= APAL_STATUS_INVALIDARGUMENTS; |
75 | 89 |
} |
76 | 90 |
|
Also available in: Unified diff