Added HAL support and enhanced documentation.