#!/bin/sh

#
# /mnt/add1/opt/microchip/mplabcomm
# 3.35.24/
# 3.42.05/
# v3.32.00/
# v3.33.00/
# v3.35.06/
#

  NAME_IDE="mplabx"
  NAME_COM="mplabcomm"
   VER_IDE="${VER_IDE:-5.35}"
   VER_COM="${VER_COM:-3.35.24}"
  BIN_NAME="${BIN_NAME:-mplab_ide}"

    PTR="/opt/microchip/${NAME_IDE}/v${VER_IDE}"
    BIN="${PTR}/mplab_platform/bin"
IDE_LIB="${PTR}/lib"
COM_LIB="/opt/microchip/${NAME_COM}/v${VER_COM}/lib"


#
# https://coderoad.ru/41538350/%D0%9A%D0%B0%D0%BA-%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D1%8C-MPLAB-X
# https://stackoverflow.com/questions/41538350/how-to-speed-up-mplab-x
# /opt/microchip/mplabx/v5.35/mplab_platform/etc/mplab_ide.conf
#
RAM_SIZE="${RAM_SIZE:-2048m}" # самая стабильная цыфира
#RAM_SIZE="2300m"             # эта по моему сильно падучая
#RAM_SIZE="4096m"             # The specified size exceeds the maximum representable size.
                              # Указанный размер превышает максимально допустимый размер.
#
# дефолтная жаба от микрочипа (я перенес дефольный каталог лабы в подкаталог microchip
#
# /opt/mplabx-5.35/sys/java/jre1.8.0_181/
# -->
# /opt/microchip/mplabx/v5.35/sys/java/jre1.8.0_181
#
# cd /opt; ln -sf microchip/mplabx/v5.35 mplabx-5.35
#

#
#JAVA_DEF=1.6.0.11
#JAVA_DEF=1.6.0.45
#
#JAVA_DEF=1.7.0.72
#JAVA_DEF=1.7.0.80  # ide/ipe - ERR
#
 JAVA_DEF="1.8.0.05"  # ipe - start OK , flash win - ERR / ide - вроде без ошибок стартует
 JAVA_DEF="1.8.0.25"  # ipe - start OK , flash win - ERR
 JAVA_DEF="1.8.0.60"  # ipe - start OK , flash win - OK
#JAVA_DEF="1.8.0.121" # ipe - start OK , flash win - OK
#JAVA_DEF="1.8.0.241" # ipe - halt
#JAVA_DEF="DEF"       # значение, указывающкк брать/нет родную жабу

### DEBUG
#JAVA_VER="DEF"

 JAVA_VER="${JAVA_VER:-$JAVA_DEF}"

if [ "${JAVA_VER}" == "DEF" ]; then
case "$VER_IDE" in
5.35) JAVA="${PTR}/sys/java/jre1.8.0_181" ;;
*   ) JAVA="/opt/java/${JAVA_VER}"
esac
else  JAVA="/opt/java/${JAVA_VER}"
fi

export            JAVA
export        JDK_HOME="${JAVA}"
export       JAVA_HOME="${JAVA}"

export QT4LIB="${QT4LIB:-/usr/lib/qt4/lib}"

export LD_LIBRARY_PATH="${IDE_LIB}:${COM_LIB}:${QT4LIB}:${LD_LIBRARY_PATH}"
export            PATH="${JAVA}/bin:${BIN}:${PATH}"

export            LANG=C
export          LC_ALL=C
#export          BEEP

#_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dsun.java2d.xrender=true"
#_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd_hbgr" ### горизонтальная размазня шрифта
#_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=setting"  ### вообще шрифт гавно
#_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dsun.java2d.xrender=true"
#_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=lcd_hrgb"
#export _JAVA_OPTIONS

#RUN_CMD="${BIN}/${BIN_NAME} --jdkhome ${JAVA} -J-Xmx${RAM_SIZE} $@"
RUN_CMD="${BIN}/${BIN_NAME} --jdkhome ${JAVA} $@"

clear; echo "### MpLabX ${VER_IDE}

 JAVA_VER     = ${JAVA_VER}
 JAVA_HOME    = ${JAVA_HOME}
_JAVA_OPTIONS = ${_JAVA_OPTIONS}
RAM_SIZE      = ${RAM_SIZE}

BIN      = ${BIN}
IDE_LIB  = ${IDE_LIB}
COM_LIB  = ${COM_LIB}

LIB      = ${LD_LIBRARY_PATH}

PATH = $PATH

RUN_CMD = ${RUN_CMD}
"

${RUN_CMD}

