USB-PD Support for Sequre S60P (#1883)
* Basic Init * Rought implementation of fs2711 usb pd interface * Rought implementation of fs2711 usb pd interface * Still needs work overcurrent protection keeps getting tripped * New pdo selection logic * Update push.yml * Update push.yml * Update push.yml * Update Makefile * Adds PPS * Removed unused define * Adds PPS * Apply suggestions from code review Co-authored-by: Ben V. Brown <5425387+Ralim@users.noreply.github.com> * Code review changes * Added osDelay include * New line alignment for S60 softwarei2c * Code review * Fixes code review stuff * code review changes * Change voltage limit to 20 as that's what the device is rated for * Shortened wait time for usb pd * Fixed issues that cuase S60P to restart constantly * fixing minimal OLED brightness With the current settings, the OLED turns off if the first level is selected. * Adds protocol to s60p debug menu * loosened fs2711 protocol selection timing * Adds PDO register reading to negotiation logic * Fixes FS2711 timeout issue and cleans up driver * Adds FS2711 protocol negotiation to power loop * Removed uneeded define * Reverts changes to Font.h and adds clang-format comments --------- Co-authored-by: Ben V. Brown <Ralim@Ralimtek.com> Co-authored-by: discip <53649486+discip@users.noreply.github.com> Co-authored-by: Ben V. Brown <5425387+Ralim@users.noreply.github.com>
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "BSP.h"
|
||||
#include "FS2711.hpp"
|
||||
#include "FreeRTOS.h"
|
||||
#include "HUB238.hpp"
|
||||
#include "QC3.h"
|
||||
@@ -14,6 +15,7 @@
|
||||
#include "cmsis_os.h"
|
||||
#include "configuration.h"
|
||||
#include "main.hpp"
|
||||
#include "stdbool.h"
|
||||
#include "stdlib.h"
|
||||
#include "task.h"
|
||||
|
||||
@@ -32,8 +34,12 @@ void startPOWTask(void const *argument __unused) {
|
||||
USBPowerDelivery::start();
|
||||
// Crank the handle at boot until we are stable and waiting for IRQ
|
||||
USBPowerDelivery::step();
|
||||
|
||||
#endif
|
||||
#if POW_PD_EXT == 2
|
||||
FS2711::start();
|
||||
FS2711::negotiate();
|
||||
#endif
|
||||
|
||||
BaseType_t res;
|
||||
for (;;) {
|
||||
res = pdFALSE;
|
||||
@@ -60,6 +66,9 @@ void startPOWTask(void const *argument __unused) {
|
||||
#endif
|
||||
#if POW_PD_EXT == 1
|
||||
hub238_check_negotiation();
|
||||
#endif
|
||||
#if POW_PD_EXT == 2
|
||||
FS2711::negotiate();
|
||||
#endif
|
||||
power_check();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user