Release Notes

RELEASE NOTES FOR BLACKLIB v2.0




New Features

Communication Protocols:
  • Add new communication protocol classes. These are uart, spi and i2c.
  • Add install script for using spi.
Documantation:
  • Add code examples to almost all functions.
  • Add warning and information parts.
  • Add example project tree and including information of every class.
  • No more User-Manual support.
Performance:
  • Add workingMode(SecureMode, FastMode) enumaration.
  • Add secure and fast working modes to BlackGPIO.
Usability:
  • Add namespace which named "BlackLib".
  • Add default error string which occured when file openning, to BlackDef.h (FILE_COULD_NOT_OPEN_STRING)
  • Add default error integer value which occured when file openning, to BlackDef.h (FILE_COULD_NOT_OPEN_INT)
  • Add default error float value which occured when file openning, to BlackDef.h (FILE_COULD_NOT_OPEN_FLOAT)
  • Add default error string which occured when checking gpio ready state, to BlackDef.h (GPIO_PIN_NOT_READY_STRING)
  • Add default error integer which occured when checking gpio ready state, to BlackDef.h (GPIO_PIN_NOT_READY_INT)
  • Add default error string which occured when searching pwm driver name, to BlackDef.h (PWM_TEST_NAME_NOT_FOUND)
  • Add timeType(picosecond, nanosecond, microsecond, milisecond, second) enumaration.
  • Add BlackCoreGPIO::getValueFilePath() function.
  • Add BlackGPIO::setWorkingMode() function.
  • Add BlackGPIO::getWorkingMode() function.
  • Add BlackGPIO::getNumericValue() function.
  • Add BlackCorePWM::getPeriodFilePath() function.
  • Add BlackCorePWM::getDutyFilePath() function.
  • Add BlackCorePWM::getRunFilePath() function.
  • Add BlackCorePWM::getPolarityFilePath() function.
  • Add operator(>>) overloads to BlackGPIO.
  • Add operator(>>) overloads to BlackADC.






Updates

Name Changes:
  • Change "adc_name" enumaration name to "adcName".
  • Change "gpio_type" enumaration name to "direction".
  • Change "gpio_name" enumaration name to "gpioName".
  • Change "gpio_value" enumaration name to "digitalValue".
  • Change "pwm_run_value" enumaration name to "runValue".
  • Change "pwm_polarity" enumaration name to "polarityType".
  • Change BlackADC::getParsedValue() function name to BlackADC::getConvertedValue().
  • Change BlackGPIO::getType() function name to BlackGPIO::getDirection().
  • Merge "pwm_bus_name" and "pwm_pin_name" enumarations and change name to "pwmName".  
Usability Improvements:
  • Update included files.
  • Insert "SPI0" and "SPI1" enumarators to BlackCore::ocpSearch for searching spi device number at the ocp directory.
  • Update BlackCore::searchDirectoryOcp() function for searching spi device driver.
  • Delete debug messages from BlackADC and BlackGPIO classes.
  • Add working mode support to BlackGPIO::getValue() function.
  • Add working mode support to BlackGPIO::setValue() function.
  • Add time type support to BlackPWM::setPeriodTime() function.
  • Add time type support to BlackPWM::setSpaceRatioTime() function.
  • Add time type support to BlackPWM::setLoadRatioTime() function.
  • Add "bothDirection" enumarator to "direction" (old name is "gpio_type") enumaration. (Note: If this enumarator is used at BlackGPIO constructor parameter, it assumes your pin direction is input.)
Performance Improvements:
  • Delete BlackCore::setSlotsFilePath() function and merge into the constructor.
  • Optimize BlackADC::getValue() function.
  • Optimize BlackADC::getNumericValue() function.
  • Optimize BlackCoreGPIO::setDirection() function.
  • Optimize BLACKPWM::setPeriodTime() function.
  • Optimize BLACKPWM::setSpaceRatioTime() function.
  • Optimize BLACKPWM::setLoadRatioTime() function.
  • Optimize BLACKPWM::setDutyPercent() function.
  • Optimize BLACKPWM::setPolarity() function.
  • Optimize BLACKPWM::setRunState() function.
  • Optimize BLACKPWM::tooglePolarity() function.
  • Optimize BLACKPWM::toggleRunState() function.
  • Optimize BLACKPWM::getNumericPeriodValue() and delete "strtoimax()" helper function from this function.
  • Optimize BLACKPWM::getNumericDutyValue() and delete "strtoimax()" helper function from this function.
  • Change initialization of error structure at BlackCore constructor.
  • Change initialization of error structure at BlackCoreADC constructor.
  • Change initialization of error structure at BlackCoreGPIO constructor.
  • Change initialization of error structure at BlackCorePWM constructor.
  • Change initialization of error structure at BlackADC constructor.
  • Change initialization of error structure at BlackGPIO constructor.
  • Change initialization of error structure at BlackPWM constructor.
  • Add error structure pointer delete to BlackCore destructor for preventing memory leak.
  • Add error structure pointer delete to BlackCoreADC destructor for preventing memory leak.
  • Add error structure pointer delete to BlackCoreGPIO destructor for preventing memory leak.
  • Add error structure pointer delete to BlackCorePWM destructor for preventing memory leak.
  • Add error structure pointer delete to BlackADC destructor for preventing memory leak.
  • Add error structure pointer delete to BlackGPIO destructor for preventing memory leak.
  • Add error structure pointer delete to BlackPWM destructor for preventing memory leak.
  • Change BLACKPWM::getNumericPeriodValue() function to inline.
  • Change BLACKPWM::getNumericDutyValue() function to inline.
  • Change toStr() function to inline.
Design Updates:
  • Clean everything about initialization process from BlackGPIO class like "isInitializeBefore" flag, "initializeErr" enumarator, initialize() and triggerInitialize() function.
  • Clean everything about initialization process from BlackPWM class like "isInitializeBefore" flag, "initializeErr" enumarator, initialize() and triggerInitialize() function.
  • Delete BlackCorePWM::getPwmName() function.
  • Delete BlackCorePWM::parsePwmName() function.
  • Delete BlackCorePWM::getPwmName() function.
  • Change "bool BlackCorePWM::findPwmTestName()" function to "std::string BlackCorePWM::findPwmTestName(pwmName)".
  • Change "BlackCorePWM::setPeriodTime(uint32_t)" function to "BlackCorePWM::setPeriodTime(uint64_t, timeType)".
  • Change "BlackCorePWM::setSpaceRatioTime(uint32_t)" function to "BlackCorePWM::setSpaceRatioTime(uint64_t, timeType)".
  • Change "BlackCorePWM::setLoadRatioTime(uint32_t)" function to "BlackCorePWM::setLoadRatioTime(uint64_t, timeType)".
  • Move "pwmPinName" variable from BlackPWM to BlackCorePWM.