|
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