Hi every one,
I wanted to use a custom option for using in extra_script as shown there: Redirecting...
But when I do print ARGUMENTS
I only see a kind of hash like if it was encrypted. Is that normal ? how to use it ?
Thanks in advance.
Hi every one,
I wanted to use a custom option for using in extra_script as shown there: Redirecting...
But when I do print ARGUMENTS
I only see a kind of hash like if it was encrypted. Is that normal ? how to use it ?
Thanks in advance.
All arguments are decrypted in a build environment. Check print env.Dump()
.
I don’t see it there, I see: Warning! Ignore unknown 'custom_option' option from
[env:]section
Please skip this warning. Do you see this variable in ARGUMENTS?
I don’t see it .
{ 'AR': 'avr-ar',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES',
'ARFLAGS': ['rcs'],
'AS': 'avr-as',
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': ['-x', 'assembler-with-cpp', '-g', '-Os', '-Wall', '-ffunction-sections', '-fdata-sections', '-mmcu=$BOARD_MCU'],
'ASPPCOM': '$CC $ASPPFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -c -o $TARGET $SOURCES',
'ASPPFLAGS': '$ASFLAGS',
'BOARD': 'myATmega328_8Mhz',
'BOARD_F_CPU': u'8000000L',
'BOARD_MCU': u'atmega328p',
'BUILDERS': {'ElfToEep': <SCons.Builder.BuilderBase object at 0x10a053150>, 'ElfToHex': <SCons.Builder.BuilderBase object at 0x10a0536d0>, 'SharedLibrary': <SCons.Builder.BuilderBase object at 0x10a064950>, 'Object': <SCons.Builder.CompositeBuilder object at 0x10a0532d0>, 'Library': <SCons.Builder.BuilderBase object at 0x10a0530d0>, 'Program': <SCons.Builder.BuilderBase object at 0x10a064a50>, 'StaticLibrary': <SCons.Builder.BuilderBase object at 0x10a0530d0>, 'SharedObject': <SCons.Builder.CompositeBuilder object at 0x10a0533d0>, 'StaticObject': <SCons.Builder.CompositeBuilder object at 0x10a0532d0>, 'LoadableModule': <SCons.Builder.BuilderBase object at 0x10a064bd0>},
'BUILDSRC_DIR': '$BUILD_DIR/src',
'BUILDTEST_DIR': '$BUILD_DIR/test',
'BUILD_DIR': '$PROJECTPIOENVS_DIR/$PIOENV',
'BUILD_SCRIPT': '/Users/clementpatout/.platformio/platforms/atmelavr/builder/main.py',
'CC': 'avr-gcc',
'CCCOM': '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CCFLAGS': ['-g', '-Os', '-Wall', '-ffunction-sections', '-fdata-sections', '-mmcu=$BOARD_MCU'],
'CCVERSION': '8.0.0',
'CFILESUFFIX': '.c',
'CFLAGS': ['-std=gnu11'],
'CONFIGUREDIR': '#/.sconf_temp',
'CONFIGURELOG': '#/config.log',
'CPPDEFINES': [ ('F_CPU=$BOARD_F_CPU',),
('PLATFORMIO=030002',),
('ARDUINO_ARCH_AVR',),
(u'ARDUINO=10608',)],
'CPPDEFPREFIX': '-D',
'CPPDEFSUFFIX': '',
'CPPFLAGS': [],
'CPPPATH': [ u'/Users/clementpatout/.platformio/packages/framework-arduinoavr/cores/arduino',
u'/Users/clementpatout/.platformio/packages/framework-arduinoavr/variants/standard',
'/Users/clementpatout/.platformio/packages/framework-arduinoavr/libraries/SPI/src',
'/Users/clementpatout/.platformio/packages/framework-arduinoavr/libraries/Wire/src',
'/Users/clementpatout/.platformio/packages/framework-arduinoavr/libraries/EEPROM/src',
'/Users/clementpatout/workspace/platformio/lib/MySensors',
'/Users/clementpatout/workspace/platformio/mysensors-si7021/lib/RunningAverage',
'/Users/clementpatout/workspace/platformio/mysensors-si7021/.piolibdeps/Si7021_ID536',
'$PROJECTSRC_DIR'],
'CPPSUFFIXES': [ '.c',
'.C',
'.cxx',
'.cpp',
'.c++',
'.cc',
'.h',
'.H',
'.hxx',
'.hpp',
'.hh',
'.F',
'.fpp',
'.FPP',
'.m',
'.mm',
'.S',
'.spp',
'.SPP',
'.sx'],
'CXX': 'avr-g++',
'CXXCOM': '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES',
'CXXFILESUFFIX': '.cc',
'CXXFLAGS': ['-fno-exceptions', '-fno-threadsafe-statics', '-std=gnu++11'],
'CXXVERSION': '8.0.0',
'DSUFFIXES': ['.d'],
'Dir': <SCons.Defaults.Variable_Method_Caller object at 0x109c6f890>,
'Dirs': <SCons.Defaults.Variable_Method_Caller object at 0x109c6f8d0>,
'ENV': {'LESS': '-R', 'LC_CTYPE': 'UTF-8', 'TERM_PROGRAM_VERSION': '3.0.10', 'LOGNAME': 'clementpatout', 'USER': 'clementpatout', 'PATH': '/Users/clementpatout/.platformio/packages/toolchain-atmelavr/bin:/Users/clementpatout/.platformio/packages/tool-avrdude:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', 'HOME': '/Users/clementpatout', 'ZSH': '/Users/clementpatout/.oh-my-zsh', 'TERM_PROGRAM': 'iTerm.app', 'TERM': 'xterm-256color', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.ynmDyEvg6I/Render', 'SHLVL': '1', 'SECURITYSESSIONID': '186a7', 'XPC_FLAGS': '0x0', 'ITERM_SESSION_ID': 'w0t5p1:F9CE3A76-1EB2-420F-B165-10329E7EADB0', '_': '/usr/local/bin/pio', 'TERM_SESSION_ID': 'w0t5p1:F9CE3A76-1EB2-420F-B165-10329E7EADB0', 'XPC_SERVICE_NAME': '0', 'PYTHONPATH': '/usr/local/bin:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python27.zip:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old:/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/site-packages:/Library/Python/2.7/site-packages', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.Bq11zghX2z/Listeners', 'SHELL': '/bin/zsh', 'ITERM_PROFILE': 'Default', 'TMPDIR': '/var/folders/h7/3lpjd1ts0ks4dvsf64ypw22r0000gn/T/', 'LSCOLORS': 'Gxfxcxdxbxegedabagacad', 'OLDPWD': '/Users/clementpatout/workspace/platformio', '__CF_USER_TEXT_ENCODING': '0x1F5:0x0:0x1', 'PWD': '/Users/clementpatout/workspace/platformio/mysensors-si7021', 'PAGER': 'less'},
'ESCAPE': <function escape at 0x1099be6e0>,
'EXTRA_SCRIPT': 'extra_script.py',
'FRAMEWORKPATH': [],
'FRAMEWORKS': [],
'File': <SCons.Defaults.Variable_Method_Caller object at 0x109c6f910>,
'HOST_ARCH': None,
'HOST_OS': None,
'IDLSUFFIXES': ['.idl', '.IDL'],
'INCPREFIX': '-I',
'INCSUFFIX': '',
'LDMODULE': '$SHLINK',
'LDMODULECOM': '$LDMODULE -o $TARGET $LDMODULEFLAGS $__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'LDMODULEEMITTER': [<function ldmod_emitter at 0x10a0699b0>],
'LDMODULEFLAGS': '$SHLINKFLAGS',
'LDMODULENOVERSIONSYMLINKS': '$SHLIBNOVERSIONSYMLINKS',
'LDMODULEPREFIX': '$SHLIBPREFIX',
'LDMODULESUFFIX': '$SHLIBSUFFIX',
'LDMODULEVERSION': '$SHLIBVERSION',
'LDMODULEVERSIONFLAGS': '$SHLIBVERSIONFLAGS',
'LIBDIRPREFIX': '-L',
'LIBDIRSUFFIX': '',
'LIBLINKPREFIX': '-l',
'LIBLINKSUFFIX': '',
'LIBPATH': ['$BUILD_DIR'],
'LIBPREFIX': 'lib',
'LIBPREFIXES': ['$LIBPREFIX'],
'LIBS': [ [<SCons.Node.FS.File object at 0x7ff55e1645c0>],
[<SCons.Node.FS.File object at 0x7ff55b7fa780>],
'm',
[<SCons.Node.FS.File object at 0x7ff55b567720>],
[<SCons.Node.FS.File object at 0x7ff55b56fae0>],
[<SCons.Node.FS.File object at 0x7ff55b564af0>],
[<SCons.Node.FS.File object at 0x7ff55b5693e0>],
[<SCons.Node.FS.File object at 0x7ff55b56f380>],
[<SCons.Node.FS.File object at 0x7ff55b65edd0>]],
'LIBSOURCE_DIRS': [ '../lib',
'/Users/clementpatout/workspace/platformio/mysensors-si7021/lib',
'/Users/clementpatout/workspace/platformio/mysensors-si7021/.piolibdeps',
'$PIOHOME_DIR/lib',
u'/Users/clementpatout/.platformio/packages/framework-arduinoavr/libraries/__cores__/arduino',
'/Users/clementpatout/.platformio/packages/framework-arduinoavr/libraries'],
'LIBSUFFIX': '.a',
'LIBSUFFIXES': ['$LIBSUFFIX', '$SHLIBSUFFIX'],
'LIB_EXTRA_DIRS': ['../lib'],
'LINK': '$SMARTLINK',
'LINKCALLBACKS': { 'VersionedLdModName': <function _versioned_ldmod_name at 0x10a069b18>,
'VersionedLdModSoname': <function _versioned_ldmod_soname at 0x10a069cf8>,
'VersionedLdModSuffix': <function _versioned_lib_suffix at 0x10a069b90>,
'VersionedLdModSymlinks': <function _versioned_ldmod_symlinks at 0x10a069e60>,
'VersionedShLibName': <function _versioned_shlib_name at 0x10a069aa0>,
'VersionedShLibSoname': <function _versioned_shlib_soname at 0x10a069c80>,
'VersionedShLibSuffix': <function _versioned_lib_suffix at 0x10a069b90>,
'VersionedShLibSymlinks': <function _versioned_shlib_symlinks at 0x10a069de8>},
'LINKCOM': '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'LINKFLAGS': ['-Os', '-mmcu=$BOARD_MCU', '-Wl,--gc-sections,--relax'],
'LdModSonameGenerator': <SCons.Tool._LibSonameGenerator object at 0x109c6ad90>,
'MAXLINELENGTH': 128072,
'OBJCOPY': 'avr-objcopy',
'OBJPREFIX': '',
'OBJSUFFIX': '.o',
'PIOBUILDFILES': [<SCons.Node.FS.File object at 0x7ff55e175040>],
'PIOENV': 'atmelavr',
'PIOFRAMEWORK': 'arduino',
'PIOHOME_DIR': '/Users/clementpatout/.platformio',
'PIOPLATFORM': 'atmelavr',
'PLATFORM': 'darwin',
'PLATFORM_MANIFEST': '/Users/clementpatout/.platformio/platforms/atmelavr/platform.json',
'PROGNAME': 'firmware',
'PROGPREFIX': '',
'PROGRAMHEXCMD': '$UPLOADER $UPLOADERFLAGS -U flash:w:$SOURCES:i',
'PROGSUFFIX': '.elf',
'PROJECTDATA_DIR': '/Users/clementpatout/workspace/platformio/mysensors-si7021/data',
'PROJECTPIOENVS_DIR': '/Users/clementpatout/workspace/platformio/mysensors-si7021/.pioenvs',
'PROJECTSRC_DIR': '/Users/clementpatout/workspace/platformio/mysensors-si7021/src',
'PROJECTTEST_DIR': '/Users/clementpatout/workspace/platformio/mysensors-si7021/test',
'PROJECT_DIR': '/Users/clementpatout/workspace/platformio/mysensors-si7021',
'PSPAWN': <function piped_env_spawn at 0x10a039cf8>,
'PYTHONEXE': '/usr/local/opt/python/bin/python2.7',
'RANLIB': 'avr-ranlib',
'RANLIBCOM': '$RANLIB $RANLIBFLAGS $TARGET',
'RANLIBFLAGS': [],
'RDirs': <SCons.Defaults.Variable_Method_Caller object at 0x109c6f950>,
'RPATH': [],
'RPATHPREFIX': '-Wl,-rpath=',
'RPATHSUFFIX': '',
'SCANNERS': [],
'SHCC': '$CC',
'SHCCCOM': '$SHCC -o $TARGET -c $SHCFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCCFLAGS': ['$CCFLAGS', '-fPIC'],
'SHCFLAGS': ['$CFLAGS'],
'SHCXX': '$CXX',
'SHCXXCOM': '$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES',
'SHCXXFLAGS': ['$CXXFLAGS'],
'SHELL': 'sh',
'SHLIBEMITTER': [<function shlib_emitter at 0x10a069938>],
'SHLIBPREFIX': '$LIBPREFIX',
'SHLIBSUFFIX': '.dylib',
'SHLIBVERSIONFLAGS': ['-Wl,-Bsymbolic'],
'SHLINK': '$LINK',
'SHLINKCOM': '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS',
'SHLINKFLAGS': ['$LINKFLAGS', '-shared'],
'SHOBJPREFIX': '$OBJPREFIX',
'SHOBJSUFFIX': '.os',
'SIZEPRINTCMD': '$SIZETOOL --mcu=$BOARD_MCU -C -d $SOURCES',
'SIZETOOL': 'avr-size',
'SMARTLINK': <function smart_link at 0x10a069848>,
'SPAWN': <function subprocess_spawn at 0x10a039c08>,
'STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME': 0,
'ShLibSonameGenerator': <SCons.Tool._LibSonameGenerator object at 0x109c6ad10>,
'TARGET_ARCH': None,
'TARGET_OS': None,
'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>,
'TEMPFILEPREFIX': '@',
'TOOLS': [ 'ar',
'as',
'gcc',
'g++',
'gnulink',
'platformio',
'pioplatform',
'piowinhooks',
'piolib',
'piotest',
'pioupload',
'piomisc'],
'UNIX_TIME': 1476649263,
'UPLOADEEPCMD': '$UPLOADER $UPLOADERFLAGS -U eeprom:w:$SOURCES:i',
'UPLOADER': 'avrdude',
'UPLOADERFLAGS': [ '-v',
'-p',
'$BOARD_MCU',
'-C',
'/Users/clementpatout/.platformio/packages/tool-avrdude/avrdude.conf',
'-c',
'$UPLOAD_PROTOCOL',
'$UPLOAD_FLAGS'],
'UPLOADHEXCMD': '$UPLOADER $UPLOADERFLAGS -D -U flash:w:$SOURCES:i',
'UPLOAD_FLAGS': '-P$UPLOAD_PORT -b$UPLOAD_SPEED -e',
'UPLOAD_PORT': '/dev/cu.usbserial-A50285BI',
'UPLOAD_PROTOCOL': u'arduino',
'UPLOAD_SPEED': '57600',
'_CCCOMCOM': '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $_FRAMEWORKPATH',
'_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX, __env__)}',
'_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_LDMODULESONAME': '${LdModSonameGenerator(__env__,TARGET)}',
'_LDMODULEVERSIONFLAGS': '$LDMODULEVERSIONFLAGS -Wl,-soname=$_LDMODULESONAME',
'_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_LIBFLAGS': '-Wl,--start-group ${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, LIBPREFIXES, LIBSUFFIXES, __env__)} -Wl,--end-group',
'_RPATH': '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}',
'_SHLIBSONAME': '${ShLibSonameGenerator(__env__,TARGET)}',
'_SHLIBVERSIONFLAGS': '$SHLIBVERSIONFLAGS -Wl,-soname=$_SHLIBSONAME',
'__DRPATH': '$_DRPATH',
'__DSHLIBVERSIONFLAGS': '${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}',
'__LDMODULEVERSIONFLAGS': '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
'__RPATH': '$_RPATH',
'__SHLIBVERSIONFLAGS': '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
'__libversionflags': <function __libversionflags at 0x109c79140>,
'_concat': <function _concat at 0x109c74e60>,
'_defines': <function _defines at 0x109c790c8>,
'_stripixes': <function _stripixes at 0x109c74f50>,
'toolpath': [ '/usr/local/lib/python2.7/site-packages/platformio/builder/tools']}
Yes so when I do ARGUMENTS.get("custom_option")
I get this strange hash.
I’ll take a look at it later. Temporary solution
import base64
print base64.b64decode(ARGUMENTS.get("custom_option"))
Cool thanks. I have to put it uppercase (forgot to say). So
import base64
print base64.b64decode(ARGUMENTS.get("CUSTOM_OPTION"))
works fine. Thanks
Great Project by the way
Ah as well I guess that If I use as in the example there Redirecting...
I guess It print nothing because it is not in env ? so ${ARGUMENTS.get("custom_option")}
in env.Replace won’t work or ?
Should be like: (i am not sure why new in python too)
import base64
env.Replace(
CUSTOM_OPTION =base64.b64decode(ARGUMENTS.get("CUSTOM_OPTION")),
UPLOADHEXCMD='$UPLOADER $CUSTOM_OPTION --uploader --flags'
)
Thanks, I’ve just fixed docs and remove this warning about “unknown” option:
https://github.com/platformio/platformio/commit/f027e8c52ed9b463c18f9c847593eb20d6b584dc