* Add SDK * fork * massaging makefile * Drop git module * Bring in sdk as its broken Far, Far to much crap to fix with regex now * Remove bl706 * rf_para_flash_t is missing defs * Remove crapton of junk * Remove yet more * Poking I2C * Update peripheral_config.h * Update pinmux_config.h * Update preRTOS.cpp * Update main.hpp * Setup template * Verbose boot * I2C ish * Update I2C_Wrapper.cpp * Update main.cpp * Turn off I2C reading for now * Display running * Roughing out scheduling timer0 * Starting ADC setup * Working scheduling of ADC 🎉 * Format adc headers * Update IRQ.cpp * Buttons working * Slow down I2C * Poking IRQ * Larger stack required * Accel on * Trying to chase down why __libc_init_array isnt working yet * Working c++ * Cleanup * Bump stacks * I2C wake part workaround * Cleanup * Working PWM init * qc draft * Hookup PWM * Stable enough ADC * ADC timing faster + timer without HAL * Silence * Remove boot banner * Tuning in ADC * Wake PID after ADC * Remove unused hal * Draft flash settings * Working settings save & restore * Update to prod model * Cleanup * NTC thermistor * Correct adc gain * Rough tip resistance progress * Scratch out resistance awareness of the tip * better adc settings * Tweaking ADC * ADC tweaking * Make adc range scalable * Update Dockerfile * Update configuration.h * Can read same ADC twice in a row * ADC Setup * Update PIDThread.cpp * Lesser adc backoff * Update USBPD.h * Add device ID * Update BSP_Power.h * Update BSP.cpp * DrawHex dynamicLength * Shorter ID padding * Show validation code * tip measurement * Create access for w0w1 * Expose w0 w1 * Enable debug * crc32 * Device validation * wip starting epr * Logic refactor * Safer PWM Init * PD cleanups * Update bl702_pwm.c * Update power.cpp * Update usb-pd * io * EPR decode * Better gui for showing pd specs * Rough handler for capabilities * EPR * Fix > 25V input * Perform pow step after PPS * Update BSP.cpp * Fix timer output * QC3 * Add tip resistance view * Hold PD negotiation until detection is done for tip res * Get Thermal mass * Tip res =0 protection * Update PIDThread.cpp * Update GUIThread.cpp * Rewrite tip resistance measurement * Update GUIThread.cpp * Fix fallback * Far better tip resistance measurement * Fix QC 0.6V D- * Convert the interpolator to int32 * Correct the NTC lookup * Update BSP.cpp * Update Setup.cpp * . Update configuration #defines More backported functions * Update usb-pd * More missed updates * Refactor BSP Magic BSP -> PinecilV2 Pine64 BSP -> Pinecil Update Makefile * Add Pinecilv2 to CI * Pinecil v2 multi-lang Update push.yml * Update HallSensor.md * Update README.md * Fix wrong prestartcheck default * Fix logo mapping * Update Makefile * Remove unused font block * Style * Style * Remove unused timer funcs * More culling TS80P * Revert "More culling TS80P" This reverts commit2078b89be7. * Revert "Remove unused timer funcs" This reverts commit0c693a89cc. * Make VBus check maskable * Remove DMA half transfer * Drop using brightness and invert icons and go back to text Saves flash space * Refactor settings UI drawing descriptions * Shorten setting function names * Store bin file assets * Fix MHP prestart
137 lines
3.6 KiB
Bash
Executable File
137 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
TRANSLATION_DIR="../Translations"
|
|
TRANSLATION_SCRIPT="make_translation.py"
|
|
|
|
# AVAILABLE_LANGUAGES will be calculating according to json files in $TRANSLATION_DIR
|
|
AVAILABLE_LANGUAGES=()
|
|
BUILD_LANGUAGES=()
|
|
AVAILABLE_MODELS=("TS100" "TS80" "TS80P" "Pinecil" "MHP30" "Pinecilv2")
|
|
BUILD_MODELS=()
|
|
|
|
usage() {
|
|
echo "Usage : $(basename "$0") [-l <LANG_CODE>] [-m <TS100|TS80|TS80P|Pinecil|MHP30>] [-h]
|
|
|
|
Parameters :
|
|
-l LANG_CODE : Force a specific language (E.g. : EN, FR, NL_BE, ...)
|
|
-m MODEL : Force a specific model (E.g. : TS100 or TS80)
|
|
-h : Show this help message
|
|
|
|
INFO : By default, without parameters, the build is for all platforms and all languages" 1>&2
|
|
exit 1
|
|
}
|
|
|
|
checkLastCommand() {
|
|
if [ $? -eq 0 ]; then
|
|
echo " [Success]"
|
|
echo "*********************************************"
|
|
else
|
|
forceExit
|
|
fi
|
|
}
|
|
|
|
forceExit() {
|
|
echo " [Error]"
|
|
echo "*********************************************"
|
|
echo " -- Stop on error --"
|
|
exit 1
|
|
}
|
|
|
|
isInArray() {
|
|
local value="$1" # Save first argument in a variable
|
|
shift # Shift all arguments to the left (original $1 gets lost)
|
|
local array=("$@") # Rebuild the array with rest of arguments
|
|
|
|
for item in "${array[@]}"; do
|
|
[[ $value == "$item" ]] && return 0
|
|
done
|
|
return 1
|
|
}
|
|
|
|
while getopts h:l:m: option; do
|
|
case "${option}" in
|
|
h)
|
|
usage
|
|
;;
|
|
l)
|
|
LANGUAGEREQ=${OPTARG}
|
|
;;
|
|
m)
|
|
MODEL=${OPTARG}
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|
|
done
|
|
shift $((OPTIND - 1))
|
|
|
|
echo "*********************************************"
|
|
echo " Builder for the"
|
|
echo " Alternate Open Source Firmware"
|
|
echo " for Miniware + Pine64"
|
|
echo " by Ralim"
|
|
echo " "
|
|
echo "*********************************************"
|
|
|
|
# Calculate available languages
|
|
for f in "$TRANSLATION_DIR"/translation_*.json; do
|
|
AVAILABLE_LANGUAGES+=("$(echo "$f" | tr "[:lower:]" "[:upper:]" | sed "s/[^_]*_//" | sed "s/\.JSON//g")")
|
|
done
|
|
|
|
# Checking requested language
|
|
echo "Available languages :"
|
|
echo " ${AVAILABLE_LANGUAGES[*]}"
|
|
echo "Requested languages :"
|
|
if [ -n "$LANGUAGEREQ" ]; then
|
|
if isInArray "$LANGUAGEREQ" "${AVAILABLE_LANGUAGES[@]}"; then
|
|
echo " $LANGUAGEREQ"
|
|
BUILD_LANGUAGES+=("$LANGUAGEREQ")
|
|
else
|
|
echo " $LANGUAGEREQ doesn't exist"
|
|
forceExit
|
|
fi
|
|
else
|
|
echo " [ALL LANGUAGES]"
|
|
BUILD_LANGUAGES+=("${AVAILABLE_LANGUAGES[@]}")
|
|
fi
|
|
echo "*********************************************"
|
|
|
|
# Checking requested model
|
|
echo "Available models :"
|
|
echo " ${AVAILABLE_MODELS[*]}"
|
|
echo "Requested models :"
|
|
if [ -n "$MODEL" ]; then
|
|
if isInArray "$MODEL" "${AVAILABLE_MODELS[@]}"; then
|
|
echo " $MODEL"
|
|
BUILD_MODELS+=("$MODEL")
|
|
else
|
|
echo " $MODEL doesn't exist"
|
|
forceExit
|
|
fi
|
|
else
|
|
echo " [ALL MODELS]"
|
|
BUILD_MODELS+=("${AVAILABLE_MODELS[@]}")
|
|
fi
|
|
echo "*********************************************"
|
|
|
|
if [ ${#BUILD_LANGUAGES[@]} -gt 0 ] && [ ${#BUILD_MODELS[@]} -gt 0 ]; then
|
|
echo "Cleaning previous builds"
|
|
rm -rf Hexfile/ >/dev/null
|
|
rm -rf Objects/ >/dev/null
|
|
make clean >/dev/null
|
|
checkLastCommand
|
|
|
|
for model in "${BUILD_MODELS[@]}"; do
|
|
echo "Building firmware for $model in ${BUILD_LANGUAGES[*]}"
|
|
make -j"$(nproc)" model="$model" "${BUILD_LANGUAGES[@]/#/firmware-}" >/dev/null
|
|
checkLastCommand
|
|
done
|
|
else
|
|
echo "Nothing to build. (no model or language specified)"
|
|
forceExit
|
|
fi
|
|
echo " -- Firmwares successfully generated --"
|
|
echo "End..."
|