arduino / arduino/ArduinoCore-API
[Feature Request] Make Wire library methods virtual
- Ngôn ngữ chính
- C++
- Star
- 306
- Fork
- 150
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I suggest making the public methods of the TwoWire class virtual in order to allow polymorphism when subclassing it.
**Use case**: Have another library that utilizes the Wire library and takes a refrence to a TwoWire instance in constructor. Want to use it on pins without hardware I2C (or other reason for not wanting to use the standard Wire implementation). So I want to pass another class instance that inherits from TwoWire and implements the same methods (but uses software I2C). This does not work with current implementation because of early binding (the base class functions will be called instead of the ones in subclass).
Moved from: https://github.com/arduino/Arduino/issues/8734
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách xác định khai báo lớp TwoWire trong ArduinoCore-API và xem xét các phương thức công khai của lớp cùng những nơi đang sử dụng chúng thông qua các tham chiếu. Đánh giá các tác động đối với API và khả năng tương thích khi chuyển các phương thức đó thành virtual, sau đó xác minh rằng một lớp con triển khai các phương thức tương tự có thể được truyền vào nơi yêu cầu một đối tượng TwoWire và nhận được các lời gọi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- embedded-iot
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100