1
0
forked from me/IronOS

Compare commits

...

24 Commits

Author SHA1 Message Date
discip
d0e0c8704d Merge branch 'dev' into epr-pinecil-og 2023-07-02 21:20:44 +02:00
Ivan Zorin
b524a99ff2 Root directory content refactoring (#1725)
* Root directory refactoring: - move info about Bootup Logo from a sepatate README to main README; - replace separate root scripts build.sh and start_dev.sh by root Makefile; - make Scripts directory and move there: flash_ts100_linux.sh script, ci/ directory, dockerfile, LICENSE_RELEASE, and PULL_REQUEST_TEMPLATE; - reconfigure build & deploy scripts according to changes

* Scripts => scripts

* Scripts -> scripts: re-add missing renamed files

* Directories refactoring: add top-level Makefile, add scripts/deploy.sh script, move github templates from top-level dir to .github, organize files inside Development Resources

* Update scripts/deploy.sh accroding to codestyle syntax shellcheck

* Makefile: add docs-deploy target for mkdocs gh-deploy

* Rename IronOS.yml > Env.yml, update related files

* Docs configs: remove empty characters

* docs/devel: update usage of new script
2023-07-02 11:32:40 +10:00
Ben V. Brown
990f42ad1a Merge pull request #1728 from dallinson/dallinson-pd-resistance-fix
Remove 0.5 ohm increase to resistance
2023-06-30 09:40:49 +10:00
discip
68f042c748 Merge pull request #1727 from Ralim/discip-patch-1-1
correct wording for 'max power'
2023-06-30 00:35:14 +02:00
discip
9fb654cbc0 Update translation_SR_LATN.json 2023-06-29 23:47:05 +02:00
discip
b98f743d60 Update translation_SR_CYRL.json 2023-06-29 23:46:39 +02:00
discip
b6ae245466 Update translation_NL_BE.json 2023-06-29 23:45:20 +02:00
discip
beedfb5a52 Update translation_DE.json 2023-06-29 23:43:16 +02:00
discip
bd0b3efa9f correct wording for 'max power' 2023-06-29 23:38:13 +02:00
discip
3d4fb386b5 Merge branch 'dev' into epr-pinecil-og 2023-06-29 21:58:29 +02:00
discip
96c7fe1757 Merge pull request #1723 from Ralim/OLEd-round-two
Adjust divider
2023-06-29 21:30:19 +02:00
Daniel Allinson
59b17b24ed Remove 0.5 ohm increase to resistance
Currently, IronOS increases the tip resistance by 0.5 ohms for the purposes of USB-PD negotiation.  On the Pinecil V2, this can cause issues with power supplies that only supply 60W, such as the Framework 60W supply.  At 6.2 ohms, 20V will produce 3.2A, but at 6.7 ohms it will produce 2.985 ohms.  This 0.5 ohms increase will cause the V2 to negotiate 20V, draw more than 3A, and trip the overcurrent protection, causing it to reboot.  Removing this increase will therefore cause it to fall back to the next highest voltage it can achieve.
2023-06-29 11:49:09 +01:00
Ben V. Brown
c43063ee8c Fixup overlapping variables on oled draw 2023-06-29 18:58:14 +10:00
Ben V. Brown
43094b2222 Revert to slower software I2C 2023-06-29 18:52:53 +10:00
Ben V. Brown
803d75cd9d Init startup to both buffers
Just in case
2023-06-28 19:14:08 +10:00
Ben V. Brown
159555f299 Update OLED.cpp 2023-06-28 19:13:03 +10:00
Ben V. Brown
5d04df39e0 Adjust divider
Update OLED.cpp
2023-06-27 21:56:13 +10:00
discip
c99d19a569 Merge branch 'dev' into epr-pinecil-og 2023-03-15 00:25:14 +01:00
discip
4db4aebed2 Merge branch 'dev' into epr-pinecil-og 2023-03-14 22:25:59 +01:00
discip
5e723ada61 Merge branch 'dev' into epr-pinecil-og 2023-03-13 23:28:23 +01:00
discip
8f648721e7 Merge branch 'dev' into epr-pinecil-og 2023-03-11 15:34:38 +01:00
Ben V. Brown
86454348f5 Merge branch 'dev' into epr-pinecil-og 2022-11-07 20:18:59 +11:00
Ben V. Brown
76db4033f3 Merge branch 'dev' into epr-pinecil-og 2022-10-23 23:00:00 +11:00
Ben V. Brown
4696f0f907 Enable EPR if vbus is not connected 2022-09-18 18:48:35 +10:00
37 changed files with 257 additions and 43 deletions

View File

View File

@@ -35,6 +35,6 @@ jobs:
mkdocs-git-revision-date-plugin mkdocs-autolinks-plugin \
mkdocs-awesome-pages-plugin
- run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com'
- name: Publish docs
run: mkdocs gh-deploy
run: mkdocs gh-deploy -f scripts/IronOS-mkdocs.yml -d ../site

View File

@@ -32,7 +32,7 @@ jobs:
- name: copy license text
run: |
cp LICENSE source/Hexfile/LICENSE
cp LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
cp scripts/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
- name: Archive ${{ matrix.model }} artifacts
uses: actions/upload-artifact@v3
@@ -83,7 +83,7 @@ jobs:
- name: copy license text
run: |
cp LICENSE source/Hexfile/LICENSE
cp LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
cp scripts/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
- name: Archive ${{ matrix.model }} artifacts
uses: actions/upload-artifact@v3

View File

@@ -1,7 +0,0 @@
# Bootup logo's
IronOS supports both a bootup logo _AND_ bootup animations.
However, they are no longer included in this repo.
[Please read the docs](https://ralim.github.io/IronOS/Logo/)

View File

Before

Width:  |  Height:  |  Size: 630 B

After

Width:  |  Height:  |  Size: 630 B

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -125,7 +125,7 @@ On Windows follow the instructions on the official documentation to install 'Win
```sh
cd IronOS
./start_dev.sh
./scripts/deploy.sh
```
This script will build a Docker image and run a container with the necessary tools to build the firmware.

View File

@@ -55,7 +55,7 @@ sgr1ff1n (Shane) commented in [issue 11](https://github.com/Ralim/IronOS/issues/
While in the past there were reports of unreliable upgrades, the consensus in [issue 11](https://github.com/Ralim/IronOS/issues/11) is that things work mostly as expected in Linux.
@awigen has contributed a script [flash_ts100_linux.sh](https://raw.githubusercontent.com/Ralim/IronOS/master/Flashing/flash_ts100_linux.sh) that works on Ubuntu 16.04 as well as other distros.
@awigen has contributed a script [flash_ts100_linux.sh](https://raw.githubusercontent.com/Ralim/IronOS/dev/scripts/flash_ts100_linux.sh) that works on Ubuntu 16.04 as well as other distros.
If you want to do it manually (or if the script does not work for some reason) the general procedure is the same as for Windows, the differences are in the way to mount the unit and copy the firmware.
Remember that after flashing, the firmware filename will have changed to end in `.RDY` or `.ERR` or `.NOT` and only `.RDY` means the flashing was successful!

View File

@@ -55,7 +55,7 @@ sgr1ff1n (Shane) commented in [issue 11](https://github.com/Ralim/IronOS/issues/
While in the past there were reports of unreliable upgrades, the consensus in [issue 11](https://github.com/Ralim/IronOS/issues/11) is that things work mostly as expected in Linux.
@awigen has contributed a script [flash_ts100_linux.sh](https://raw.githubusercontent.com/Ralim/IronOS/master/Flashing/flash_ts100_linux.sh) that works on Ubuntu 16.04 as well as other distros.
@awigen has contributed a script [flash_ts100_linux.sh](https://raw.githubusercontent.com/Ralim/IronOS/dev/scripts/flash_ts100_linux.sh) that works on Ubuntu 16.04 as well as other distros.
If you want to do it manually (or if the script does not work for some reason) the general procedure is the same as for Windows, the differences are in the way to mount the unit and copy the firmware.
Remember that after flashing, the firmware filename will have changed to end in `.RDY` or `.ERR` or `.NOT` and only `.RDY` means the flashing was successful!

View File

@@ -6,7 +6,8 @@ services:
tty: true
build:
context: .
dockerfile: scripts/IronOS.Dockerfile
command: /bin/sh
volumes:
- ./ci:/build/ci:Z
- ./scripts/ci:/build/ci:Z
- ./:/build/source:Z

125
Makefile Normal file
View File

@@ -0,0 +1,125 @@
#!/usr/bin/env make
INFO:=top-level Makefile for IronOS - Soldering Iron Open Source Firmware Project.
### global adjustable variables
# command for "docker compose" from DOCKER env. var.
ifdef DOCKER
DOCKER_BIN:=$(DOCKER)
else
DOCKER_BIN:=
endif
# detect availability of docker
ifndef DOCKER_BIN
DOCKER_COMPOSE:=$(shell command -v docker-compose 2>/dev/null)
DOCKER_TOOL:=$(shell command -v docker 2>/dev/null)
ifdef DOCKER_COMPOSE
DOCKER_BIN:=$(DOCKER_COMPOSE)
else ifdef DOCKER_TOOL
DOCKER_BIN:=$(DOCKER_TOOL) compose
else
$(error ERROR: Can't find docker-compose nor docker tool. Please, install docker and try again)
endif # DOCKER_* checks
endif # DOCKER_BIN
# command for python-based mkdocs tool
ifndef MKDOCS
MKDOCS:=mkdocs
endif
### global static variables
# docker-related files
DOCKER_YML=$(CURDIR)/Env.yml
DOCKER_FILE=$(CURDIR)/scripts/IronOS.Dockerfile
# docker dependencies
DOCKER_DEPS=$(DOCKER_YML) $(DOCKER_FILE)
# compose docker-compose command
DOCKER_CMD=$(DOCKER_BIN) -f $(DOCKER_YML) run --rm builder
# MkDocs config
MKDOCS_YML=$(CURDIR)/scripts/IronOS-mkdocs.yml
### targets
# default target to show help
help:
@echo
@echo "Welcome!\nThis is $(INFO)"
@echo "To read more about supported commands (aka \"targets\"), type \"make list\"."
@echo "But if you're impatient then just type \"make docker-build\" - it will:"
@echo "\t * download, configure & start docker container"
@echo "\t * compile builds of IronOS firmware for all supported models inside that container"
@echo "\t * export generated binaries to \"scripts/ci/artefacts/\" local directory"
@echo "Patches are welcome. Happy Hacking!"
@echo
# target to list supported targets with additional info
list:
@echo ""
@echo "Supported top-level targets:"
@echo "\t * help - shows short basic help"
@echo "\t * list - this output"
@echo "\t * docker-shell - start docker container with shell inside to work on IronOS with all tools needed"
@echo "\t * docker-build - compile builds of IronOS for supported models inside docker container and place them to \"scripts/ci/artefacts/\""
@echo "\t * docker-clean - delete created docker container (but not pre-downloaded data for it)"
@echo "\t * docs - generate \"site\"/ directory with documentation in a form of static html files using ReadTheDocs framework and $(MKDOCS_YML) local config file"
@echo "\t * docs-deploy - generate & deploy docs online to gh-pages branch of current github repo"
@echo "\t * clean-full - delete files & directories generated by all the targets above "
@echo ""
@echo "NOTES on supported pass-trough targets:"
@echo "\t * main Makefile is located in source/ directory and used to build the firmware itself;"
@echo "\t * this top-level Makefile supports to call targets from source/Makefile;"
@echo "\t * if you set up development environment right on your host, then to build firmware locally, you can just type right from here:"
@echo
@echo "\t> make firmware-LANG_ID model=MODEL_ID"
@echo
@echo "Full list of current supported IDs:"
@echo "\t * LANG_ID: BE BG CS DA DE EL EN ES FI FR HR HU IT JA_JP LT NB NL_BE NL PL PT RO RU SK SL SR_CYRL SR_LATN SV TR UK VI YUE_HK ZH_CN ZH_TW"
@echo "\t * MODEL_ID: TS100 TS101 TS80 TS80P MHP30 Pinecil Pinecilv2 S60"
@echo
@echo "For example, to make a local build of IronOS firmware for TS100 with English language, just type:"
@echo "\n\t> make firmware-EN model=TS100"
@echo
# bash one-liner to generate langs for "make list":
# echo "`ls Translations/ | grep -e "^translation_.*.json$" | sed -e 's,^translation_,,g; s,\.json$,,g; ' | tr '\n' ' '`"
# former start_dev.sh
docker-shell: $(DOCKER_DEPS)
$(DOCKER_CMD)
# former build.sh
docker-build: $(DOCKER_DEPS)
$(DOCKER_CMD) /bin/bash /build/ci/buildAll.sh
# delete container
docker-clean:
-docker rmi ironos-builder:latest
# generate docs in site/ directory (DIR for -d is relative to mkdocs.yml file location, hence use default name/location site by setting up ../site)
docs: $(MKDOCS_YML) Documentation/* Documentation/Flashing/* Documentation/images/*
$(MKDOCS) build -f $(MKDOCS_YML) -d ../site
# deploy docs to gh-pages branch of current repo automagically using ReadTheDocs framework
docs-deploy: $(MKDOCS_YML) Documentation/* Documentation/Flashing/* Documentation/images/*
$(MKDOCS) gh-deploy -f $(MKDOCS_YML) -d ../site
# pass-through target for Makefile inside source/ dir
%:
make -C source/ $@
# global clean-up target
clean-full: docker-clean
make -C source/ clean-all
rm -Rf site
rm -Rf scripts/ci/artefacts
.PHONY: docker-shell docker-build docker-clean docs clean-full

View File

@@ -67,9 +67,15 @@ For notes on installation for your device, please refer to the flashing guide fo
- Boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods)
- (TS100/Pinecil) Battery charge level indicator if power source set to a lipo cell count
- (TS80/TS80P/Pinecil) Power bank operating voltage is displayed
- [Custom boot up logo support](https://ralim.github.io/IronOS/Logo/)
- [Custom boot up logo support](https://ralim.github.io/IronOS/Logo/)[^bootlogo]
- Automatic LCD rotation based on the orientation
[^bootlogo]: **BOOTUP LOGO NOTICE**:
IronOS supports both a bootup logo _AND_ bootup animations.
However, _**they are no longer included in this repo**_.
**Please, [read the docs](https://ralim.github.io/IronOS/Logo/) for more information**.
## Menu System
This new firmware uses a new menu system to allow access to the settings on the device.

View File

@@ -282,7 +282,7 @@
},
"PowerLimit": {
"displayText": "Leistungs-\nmaximum",
"description": "Maximal zulässige Leistungsaufnahme des Lötkolbens (W=Watt)"
"description": "Durchschnittliche maximal zulässige Leistungsaufnahme des Lötkolbens (W=Watt)"
},
"CalibrateCJC": {
"displayText": "Temperatur\nkalibrieren",

View File

@@ -282,7 +282,7 @@
},
"PowerLimit": {
"displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)"
"description": "Average maximum power the iron can use (W=watt)"
},
"CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot",

View File

@@ -282,7 +282,7 @@
},
"PowerLimit": {
"displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)"
"description": "Average maximum power the iron can use (W=watt)"
},
"CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot",

View File

@@ -282,7 +282,7 @@
},
"PowerLimit": {
"displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)"
"description": "Average maximum power the iron can use (W=watt)"
},
"CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot",

View File

@@ -282,7 +282,7 @@
},
"PowerLimit": {
"displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)"
"description": "Average maximum power the iron can use (W=watt)"
},
"CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot",

View File

@@ -1,2 +0,0 @@
#!/bin/sh
docker-compose run --rm builder /bin/bash /build/ci/buildAll.sh

View File

@@ -6,7 +6,7 @@ site_description: "IronOS Open Source Soldering Iron firmware for Miniware and P
# repo config
repo_url: https://github.com/ralim/IronOS/
docs_dir: Documentation
docs_dir: ../Documentation
edit_uri: edit/dev/Documentation/
# Theme and config
@@ -46,8 +46,8 @@ plugins:
- autolinks
- awesome-pages
- git-revision-date
# Markdown Extensions
markdown_extensions:
- attr_list

View File

@@ -26,4 +26,4 @@ RUN python3 -m pip install ${PIP_PKGS}
RUN git config --global --add safe.directory /build/source
COPY . /build/source
COPY ./ci /build/ci
COPY ./scripts/ci /build/ci

90
scripts/deploy.sh Executable file
View File

@@ -0,0 +1,90 @@
#!/usr/bin/env bash
# little helper for docker deployment to:
# - start development environment for IronOS ("shell" sub-command)
# - generate full set of builds ("build" sub-command)
#set -x
#set -e
usage()
{
echo -e "\nUsage: ${0} [CMD]\n"
echo "CMD:"
echo -e "\tshell - start docker container with shell inside to work on IronOS with all tools needed"
echo -e "\tbuild - compile builds of IronOS inside docker container for supported hardware"
echo -e "\tclean - delete created docker container (but not pre-downloaded data for it)\n"
echo -e "STORAGE NOTICE: for \"shell\" and \"build\" commands extra files will be downloaded so make sure that you have ~5GB of free space.\n"
}
### main
docker_conf="Env.yml"
# allow providing custom path to docker tool using DOCKER_BIN external env. var.
# (compose sub-command must be included, i.e. DOCKER_BIN="/usr/local/bin/docker compose" ./deploy.sh)
if [ -z "${DOCKER_BIN}" ]; then
docker_bin=""
else
docker_bin="${DOCKER_BIN}"
fi;
# detect availability of docker
docker_compose="$(command -v docker-compose)"
if [ -n "${docker_compose}" ] && [ -z "${docker_bin}" ]; then
docker_bin="${docker_compose}"
fi;
docker_tool="$(command -v docker)"
if [ -n "${docker_tool}" ] && [ -z "${docker_bin}" ]; then
docker_bin="${docker_tool} compose"
fi;
if [ -z "${docker_bin}" ]; then
echo "ERROR: Can't find docker-compose nor docker tool. Please, install docker and try again."
exit 1
fi;
# construct command to run
cmd="${1}"
if [ -z "${cmd}" ] || [ "${cmd}" = "shell" ]; then
docker_cmd="run --rm builder"
elif [ "${cmd}" = "build" ]; then
docker_cmd="run --rm builder /bin/bash /build/ci/buildAll.sh"
elif [ "${cmd}" = "clean" ]; then
docker rmi ironos-builder:latest
exit "${?}"
else
usage
exit 1
fi;
# get absolute location of project root dir to make docker happy with config(s)
# (successfully tested on relatively POSIX-compliant Dash shell)
# this script
script_file="/deploy.sh"
# IronOS/scripts/deploy.sh
script_path="${PWD}"/"${0}"
# IronOS/scripts/
script_dir=${script_path%"${script_file}"}
# IronOS/
root_dir="${script_dir}/.."
# IronOS/Env.yml
docker_file="-f ${root_dir}/${docker_conf}"
# change dir to project root dir & run constructed command
cd "${root_dir}" || exit 1
echo -e "\n====>>>> Firing up & starting container..."
if [ "${cmd}" = "shell" ]; then
echo -e "\t* type \"exit\" to end the session when done;"
fi;
echo -e "\t* type \"${0} clean\" to delete created container (but not cached data)"
echo -e "\n====>>>> ${docker_bin} ${docker_file} ${docker_cmd}\n"
eval "${docker_bin} ${docker_file} ${docker_cmd}"
exit "${?}"

View File

@@ -33,7 +33,7 @@
#define SOFT_I2C_DELAY() \
{ \
for (int xx = 0; xx < 10; xx++) { \
for (int xx = 0; xx < 15; xx++) { \
asm("nop"); \
} \
}

View File

@@ -136,7 +136,8 @@
#define POWER_LIMIT_STEPS 5 //
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_PINECIL // Uses TS100 resistors
#define TEMP_uV_LOOKUP_HAKKO // Use Hakko lookup table
#define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate
#define USB_PD_VMAX 24 // Maximum voltage for PD to negotiate
#define POW_EPR 1 // EPR mode is tentatively enabled
#define PID_TIM_HZ (8) // Tick rate of the PID loop
#define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F

View File

@@ -32,7 +32,7 @@ uint32_t OLED::displayChecksum;
I2C_CLASS::I2C_REG OLED_Setup_Array[] = {
/**/
{0x80, 0xAE, 0}, /*Display off*/
{0x80, 0xD3, 0}, /*Set display clock divide ratio / osc freq*/
{0x80, OLED_DIVIDER, 0}, /*Set display clock divide ratio / osc freq*/
{0x80, 0x52, 0}, /*Divide ratios*/
{0x80, 0xA8, 0}, /*Set Multiplex Ratio*/
{0x80, OLED_HEIGHT - 1, 0}, /*Multiplex ratio adjusts how far down the matrix it scans*/
@@ -90,7 +90,7 @@ const uint8_t REFRESH_COMMANDS[17] = {
0x80,
0x00, // A
0x80,
(OLED_HEIGHT / 8), // B
(OLED_HEIGHT / 8) - 1, // B
// Start of data
0x40,
@@ -127,6 +127,7 @@ void OLED::initialize() {
#endif
displayOffset = 0;
memcpy(&screenBuffer[0], &REFRESH_COMMANDS[0], sizeof(REFRESH_COMMANDS));
memcpy(&secondFrameBuffer[0], &REFRESH_COMMANDS[0], sizeof(REFRESH_COMMANDS));
// Set the display to be ON once the settings block is sent and send the
// initialisation data to the OLED.
@@ -271,7 +272,7 @@ void OLED::transitionSecondaryFramebuffer(bool forwardNavigation) {
TickType_t duration = 0;
TickType_t start = xTaskGetTickCount();
uint8_t offset = 0;
TickType_t startDraw = xTaskGetTickCount();
while (duration <= totalDuration) {
duration = xTaskGetTickCount() - start;
uint16_t progress = ((duration * 100) / totalDuration); // Percentage of the period we are through for animation
@@ -308,9 +309,8 @@ void OLED::transitionSecondaryFramebuffer(bool forwardNavigation) {
memmove(&stripPointers[3][newStart], &stripBackPointers[3][newEnd], progress);
#endif
TickType_t start = xTaskGetTickCount();
refresh(); // Now refresh to write out the contents to the new page
vTaskDelayUntil(&start, TICKS_100MS / 7);
vTaskDelayUntil(&startDraw, TICKS_100MS / 7);
if (getButtonState() != BUTTON_NONE) {
return;
}
@@ -332,6 +332,7 @@ void OLED::useSecondaryFramebuffer(bool useSecondary) {
* **This function blocks until the transition has completed or user presses button**
*/
void OLED::transitionScrollDown() {
TickType_t startDraw = xTaskGetTickCount();
for (uint8_t heightPos = 0; heightPos < OLED_HEIGHT; heightPos++) {
// For each line, we shuffle all bits up a row
@@ -374,9 +375,8 @@ void OLED::transitionScrollDown() {
refresh(); // Now refresh to write out the contents to the new page
return;
}
TickType_t start = xTaskGetTickCount();
refresh(); // Now refresh to write out the contents to the new page
vTaskDelayUntil(&start, TICKS_100MS / 7);
vTaskDelayUntil(&startDraw, TICKS_100MS / 7);
}
}

View File

@@ -46,6 +46,7 @@ extern "C" {
#define OLED_VCOM_LAYOUT 0x12
#define OLED_SEGMENT_MAP_REVERSED
#define OLED_DIVIDER 0xD3
#else
#define OLED_WIDTH 96
#define OLED_HEIGHT 16
@@ -55,8 +56,8 @@ extern "C" {
#define OLED_GRAM_END 0x7F
#define OLED_GRAM_START_FLIP 0
#define OLED_GRAM_END_FLIP 95
#define OLED_SEGMENT_MAP 0xA0
#define OLED_DIVIDER 0xD5
#define OLED_SEGMENT_MAP 0xA0
#endif
#define FRAMEBUFFER_START 17

View File

@@ -119,8 +119,7 @@ bool parseCapabilitiesArray(const uint8_t numCaps, uint8_t *bestIndex, uint16_t
*bestIndex = 0xFF; // Mark unselected
*bestVoltage = 5000; // Default 5V
// Fudge of 0.5 ohms to round up a little to account for us always having off periods in PWM
uint8_t tipResistance = getTipResistanceX10() + 5;
uint8_t tipResistance = getTipResistanceX10();
#ifdef MODEL_HAS_DCDC
// If this device has step down DC/DC inductor to smooth out current spikes
// We can instead ignore resistance and go for max voltage we can accept; and rely on the DC/DC regulation to keep under current limit
@@ -287,7 +286,9 @@ bool pdbs_dpm_evaluate_capability(const pd_msg *capabilities, pd_msg *request) {
// We dont do usb
// request->obj[0] |= PD_RDO_USB_COMMS;
#ifdef POW_EPR
request->obj[0] |= PD_RDO_EPR_CAPABLE;
if (USBPowerDelivery::isVBUSConnected() == false ) {
request->obj[0] |= PD_RDO_EPR_CAPABLE;
}
#endif
/* Update requested voltage */

View File

@@ -1,2 +0,0 @@
#!/bin/sh
docker-compose run --rm builder