-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Commit 0a45a06
feat(wire): std::functional Wire slave callback functions (#11582)
This PR enhances the Wire library to support std::function–based callbacks for I2C slave mode, enabling the use of lambdas and captured contexts.
- Replaces raw function pointers in TwoWire and HardwareI2C with std::function for onRequest and onReceive
- Updates constructors, method signatures, and default initializations to use std::function
- Adds new example sketch, CI config, and documentation updates demonstrating the functional callback API1 parent 4ee17de commit 0a45a06
File tree
6 files changed
+184
-17
lines changed- cores/esp32
- docs/en/api
- libraries/Wire
- examples/WireSlaveFunctionalCallback
- src
6 files changed
+184
-17
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
20 | 20 |
| |
21 | 21 |
| |
22 | 22 |
| |
23 | + | ||
23 | 24 |
| |
24 | 25 |
| |
25 | 26 |
| |
| |||
36 | 37 |
| |
37 | 38 |
| |
38 | 39 |
| |
39 | - | ||
40 | - | ||
40 | + | ||
41 | + | ||
42 | + | ||
41 | 43 |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
347 | 347 |
| |
348 | 348 |
| |
349 | 349 |
| |
350 | - | ||
350 | + | ||
351 | 351 |
| |
352 | 352 |
| |
353 | 353 |
| |
354 | - | ||
354 | + | ||
355 | + | ||
356 | + | ||
357 | + | ||
358 | + | ||
359 | + | ||
360 | + | ||
361 | + | ||
362 | + | ||
363 | + | ||
364 | + | ||
365 | + | ||
366 | + | ||
367 | + | ||
368 | + | ||
369 | + | ||
370 | + | ||
371 | + | ||
372 | + | ||
373 | + | ||
374 | + | ||
375 | + | ||
376 | + | ||
377 | + | ||
378 | + | ||
379 | + | ||
380 | + | ||
381 | + | ||
382 | + | ||
383 | + | ||
384 | + | ||
385 | + | ||
386 | + | ||
387 | + | ||
388 | + | ||
389 | + | ||
390 | + | ||
391 | + | ||
392 | + | ||
393 | + | ||
394 | + | ||
395 | + | ||
396 | + | ||
397 | + | ||
398 | + | ||
399 | + | ||
400 | + | ||
401 | + | ||
402 | + | ||
403 | + | ||
404 | + | ||
405 | + | ||
406 | + | ||
407 | + | ||
408 | + | ||
409 | + | ||
410 | + | ||
411 | + | ||
412 | + | ||
413 | + | ||
414 | + | ||
415 | + | ||
416 | + | ||
417 | + | ||
418 | + | ||
355 | 419 |
| |
356 | 420 |
| |
357 | 421 |
| |
358 | 422 |
| |
359 | - | ||
423 | + | ||
424 | + | ||
425 | + | ||
426 | + | ||
427 | + | ||
428 | + | ||
429 | + | ||
430 | + | ||
431 | + | ||
432 | + | ||
433 | + | ||
360 | 434 |
| |
361 | 435 |
| |
362 | 436 |
| |
363 | - | ||
437 | + | ||
438 | + | ||
439 | + | ||
440 | + | ||
441 | + | ||
442 | + | ||
443 | + | ||
444 | + | ||
445 | + | ||
446 | + | ||
447 | + | ||
448 | + | ||
449 | + | ||
450 | + | ||
451 | + | ||
452 | + | ||
453 | + | ||
454 | + | ||
455 | + | ||
456 | + | ||
457 | + | ||
458 | + | ||
459 | + | ||
460 | + | ||
461 | + | ||
462 | + | ||
463 | + | ||
464 | + | ||
465 | + | ||
466 | + | ||
467 | + | ||
468 | + | ||
469 | + | ||
470 | + | ||
471 | + | ||
472 | + | ||
473 | + | ||
474 | + | ||
475 | + | ||
476 | + | ||
477 | + | ||
478 | + | ||
479 | + | ||
480 | + | ||
481 | + | ||
482 | + | ||
483 | + | ||
484 | + | ||
485 | + | ||
486 | + | ||
487 | + | ||
488 | + | ||
489 | + | ||
490 | + | ||
364 | 491 |
| |
365 | 492 |
| |
366 | 493 |
| |
|
Lines changed: 37 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + | ||
6 | + | ||
7 | + | ||
8 | + | ||
9 | + | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | + | ||
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | ||
27 | + | ||
28 | + | ||
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + |
Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | + | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | + |
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
48 | 48 |
| |
49 | 49 |
| |
50 | 50 |
| |
51 | - | ||
51 | + | ||
52 | 52 |
| |
53 | 53 |
| |
54 | 54 |
| |
| |||
596 | 596 |
| |
597 | 597 |
| |
598 | 598 |
| |
599 | - | ||
599 | + | ||
600 | 600 |
| |
601 | 601 |
| |
602 | 602 |
| |
603 | 603 |
| |
604 | 604 |
| |
605 | 605 |
| |
606 | - | ||
606 | + | ||
607 | 607 |
| |
608 | 608 |
| |
609 | 609 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
48 | 48 |
| |
49 | 49 |
| |
50 | 50 |
| |
51 | - | ||
52 | - | ||
53 | - | ||
54 | - | ||
55 | 51 |
| |
56 | 52 |
| |
57 | 53 |
| |
| |||
77 | 73 |
| |
78 | 74 |
| |
79 | 75 |
| |
80 | - | ||
81 | - | ||
76 | + | ||
77 | + | ||
82 | 78 |
| |
83 | 79 |
| |
84 | 80 |
| |
| |||
116 | 112 |
| |
117 | 113 |
| |
118 | 114 |
| |
119 | - | ||
120 | - | ||
115 | + | ||
116 | + | ||
121 | 117 |
| |
122 | 118 |
| |
123 | 119 |
| |
|
0 commit comments