Pinecil pd tweaking (#1272)
* Raise PD max to 21V
* gui -> settingsGUI
* VBus probe cache
* Rough pass PD capabilities display
* Cleanup build errors
* PD Debug menu working
* Update make_translation.py
* settingsGUI
* Update GUIThread.cpp
* Nicer debug prints
* Show VBus in PD debug
* Update GUIThread.cpp
* Update make_translation.py
* Add docs
* Build tweaks for TS80P 😢
* Show PPS ranges
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
* Author: Ralim
|
||||
*/
|
||||
#include "FreeRTOS.h"
|
||||
#include "gui.hpp"
|
||||
#include "settingsGUI.hpp"
|
||||
#include "task.h"
|
||||
#include <Buttons.hpp>
|
||||
uint32_t lastButtonTime = 0;
|
||||
|
||||
@@ -67,10 +67,24 @@ bool USBPowerDelivery::fusbPresent() {
|
||||
return detectionState == 1;
|
||||
}
|
||||
|
||||
bool USBPowerDelivery::isVBUSConnected() { return fusb.isVBUSConnected(); }
|
||||
bool USBPowerDelivery::isVBUSConnected() {
|
||||
static uint8_t state = 0;
|
||||
if (state) {
|
||||
return state == 1;
|
||||
}
|
||||
if (fusb.isVBUSConnected()) {
|
||||
state = 1;
|
||||
return true;
|
||||
} else {
|
||||
state = 2;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
pd_msg lastCapabilities;
|
||||
pd_msg *USBPowerDelivery::getLastSeenCapabilities() { return &lastCapabilities; }
|
||||
|
||||
bool pdbs_dpm_evaluate_capability(const pd_msg *capabilities, pd_msg *request) {
|
||||
|
||||
memcpy(&lastCapabilities, capabilities, sizeof(pd_msg));
|
||||
/* Get the number of PDOs */
|
||||
uint8_t numobj = PD_NUMOBJ_GET(capabilities);
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#ifndef DRIVERS_USBPD_H_
|
||||
#define DRIVERS_USBPD_H_
|
||||
#include "configuration.h"
|
||||
#include "pdb_msg.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
@@ -9,16 +10,17 @@
|
||||
#if POW_PD
|
||||
class USBPowerDelivery {
|
||||
public:
|
||||
static bool start(); // Start the PD stack
|
||||
static bool negotiationComplete(); // Has negotiation completed to a voltage > 5v
|
||||
static bool negotiationInProgress(); // Is negotiation ongoing
|
||||
static bool fusbPresent(); // Is the FUSB302 present on the bus
|
||||
static void PPSTimerCallback(); // PPS Timer
|
||||
static void IRQOccured(); // Thread callback that an irq occured
|
||||
static void step(); // Iterate the step machine
|
||||
static bool negotiationHasWorked(); // Has PD negotiation worked (are we in a PD contract)
|
||||
static uint8_t getStateNumber(); // Debugging - Get the internal state number
|
||||
static bool isVBUSConnected(); // Is the VBus pin connected on the FUSB302
|
||||
static bool start(); // Start the PD stack
|
||||
static bool negotiationComplete(); // Has negotiation completed to a voltage > 5v
|
||||
static bool negotiationInProgress(); // Is negotiation ongoing
|
||||
static bool fusbPresent(); // Is the FUSB302 present on the bus
|
||||
static void PPSTimerCallback(); // PPS Timer
|
||||
static void IRQOccured(); // Thread callback that an irq occured
|
||||
static void step(); // Iterate the step machine
|
||||
static bool negotiationHasWorked(); // Has PD negotiation worked (are we in a PD contract)
|
||||
static uint8_t getStateNumber(); // Debugging - Get the internal state number
|
||||
static bool isVBUSConnected(); // Is the VBus pin connected on the FUSB302
|
||||
static pd_msg *getLastSeenCapabilities(); // returns pointer to the last seen capabilities from the powersource
|
||||
private:
|
||||
//
|
||||
static int detectionState;
|
||||
|
||||
Reference in New Issue
Block a user