|
16 | 16 | * @}
|
17 | 17 | */
|
18 | 18 |
|
19 |
| -/** |
20 |
| - * @brief Allowed sample point calculation margin in permille. |
21 |
| - */ |
22 |
| -#define SAMPLE_POINT_MARGIN 50 |
23 |
| - |
24 | 19 | /**
|
25 | 20 | * @brief Defines a set of CAN timing test values
|
26 | 21 | */
|
@@ -176,16 +171,16 @@ static bool test_timing_values(const struct device *dev, const struct can_timing
|
176 | 171 | return false;
|
177 | 172 | } else {
|
178 | 173 | zassert_true(sp_err >= 0, "unknown error %d", sp_err);
|
179 |
| - zassert_true(sp_err <= SAMPLE_POINT_MARGIN, "sample point error %d too large", |
180 |
| - sp_err); |
| 174 | + zassert_true(sp_err <= CONFIG_CAN_SAMPLE_POINT_MARGIN, |
| 175 | + "sample point error %d too large", sp_err); |
181 | 176 |
|
182 | 177 | printk("sjw = %u, prop_seg = %u, phase_seg1 = %u, phase_seg2 = %u, prescaler = %u ",
|
183 | 178 | timing.sjw, timing.prop_seg, timing.phase_seg1, timing.phase_seg2,
|
184 | 179 | timing.prescaler);
|
185 | 180 |
|
186 | 181 | assert_bitrate_correct(dev, &timing, test->bitrate);
|
187 | 182 | assert_timing_within_bounds(&timing, min, max);
|
188 |
| - assert_sp_within_margin(&timing, test->sp, SAMPLE_POINT_MARGIN); |
| 183 | + assert_sp_within_margin(&timing, test->sp, CONFIG_CAN_SAMPLE_POINT_MARGIN); |
189 | 184 |
|
190 | 185 | if (IS_ENABLED(CONFIG_CAN_FD_MODE) && data_phase) {
|
191 | 186 | err = can_set_timing_data(dev, &timing);
|
@@ -257,7 +252,8 @@ void *can_timing_setup(void)
|
257 | 252 | err = can_get_core_clock(dev, &core_clock);
|
258 | 253 | zassert_equal(err, 0, "failed to get core CAN clock");
|
259 | 254 |
|
260 |
| - printk("testing on device %s @ %u Hz\n", dev->name, core_clock); |
| 255 | + printk("testing on device %s @ %u Hz, sample point margin +/-%u permille\n", dev->name, |
| 256 | + core_clock, CONFIG_CAN_SAMPLE_POINT_MARGIN); |
261 | 257 |
|
262 | 258 | if (IS_ENABLED(CONFIG_CAN_FD_MODE)) {
|
263 | 259 | can_mode_t cap;
|
|
0 commit comments