Skip to content

Abstract driver class#2

Open
codiak6335 wants to merge 2 commits intoembeddedprojects:masterfrom
codiak6335:master
Open

Abstract driver class#2
codiak6335 wants to merge 2 commits intoembeddedprojects:masterfrom
codiak6335:master

Conversation

@codiak6335
Copy link
Contributor

I've created an abstract class called gnublin_driver. Currently, I'm only moved the error handling items : error_flag, ErrorMessage, getErrorMessage etc. This will eliminate duplicate code in each class and allow for faster enhancements.

The onError() method is provided as pure virtual method from the driver class. Overloading this method provides a simple way to implement custom functionality per driver type that is automatically executed when the setErrorMessage() method is called.

Bug?
    Changed the type of the value parameter of the send method from 'int' to 'unsigned char'.  Given only 8 bit's is ever transmitted over the wire 'int'
    could cause confusion.

    Added conditional value checks to several functions to validate params.

Efficieny enhancement
    By moving the fileopen processes to the setAddress and setDevice methods we can negate the need to repetively open
    and close the file during read and write operations.

    setAddress and setDeviceFile now return 1 or -1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant