Infineon / platformio-infineonxmc

Scripts and examples for developing XMC Microcontroller Boards using Platform IO
MIT License
11 stars 13 forks source link

Updated core library to 1.4.0 fails #12

Closed jaenrig-ifx closed 4 years ago

jaenrig-ifx commented 4 years ago

Hi @ivankravets ,

I have tried to update the project to version 1.4.0 of the xmc-for-arduino core. I played it by ear checking some previous updates, since I am new to this project. It seems we are still missing some step. This the error when trying to compile with the last changes and release made:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 257: invalid start byte:
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 156:
    env.SConscript("$BUILD_SCRIPT")
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Script\SConscript.py", line 286:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\GernertD\.platformio\platforms\infineonxmc\builder\main.py", line 142:
    target_elf = env.BuildProgram()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py", line 62:
    env.ProcessProjectDeps()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py", line 131:
    project_lib_builder = env.ConfigureProjectLibBuilder()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 1037:
    lib_builders = env.GetLibBuilders()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 962:
    lb = LibBuilderFactory.new(env, lib_dir)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 58:
    obj = getattr(sys.modules[__name__], clsname)(env, path, verbose=verbose)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 117:
    self._manifest = manifest if manifest else self.load_manifest()
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 469:
    return ManifestParserFactory.new_from_file(manifest_path).as_dict()
  File "c:\users\gernertd\.platformio\penv\lib\site-packages\platformio\package\manifest\parser.py", line 74:
    cls.read_manifest_contents(path), type_from_uri, remote_url
  File "c:\users\gernertd\.platformio\penv\lib\site-packages\platformio\package\manifest\parser.py", line 64:
    return fp.read()
  File "C:\Users\GernertD\AppData\Local\Programs\Python\Python36-32\lib\codecs.py", line 321:
    (result, consumed) = self._buffer_decode(data, self.errors, final) 

Any idea? Thanks a lot!

ivankravets commented 4 years ago

@valeros please help

valeros commented 4 years ago

Hi @jaenrig-ifx ! Could you please attach here not only the error message but also the entire build log?

jaenrig-ifx commented 4 years ago

Hi @valeros ,

Thanks for the quick reaction :)

This would be the complete log:

Processing xmc4700_relax_kit (platform: infineonxmc; board: xmc4700_relax_kit; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/infineonxmc/xmc4700_relax_kit.html
PLATFORM: Infineon XMC 1.1.4 > XMC4700 Relax Kit
HARDWARE: XMC4700 144MHz, 1.95MB RAM, 2.00MB Flash
DEBUG: Current (jlink) On-board (jlink)
PACKAGES:
 - framework-arduinoxmc 1.4.0
 - toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 257: invalid start byte:
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 156:
    env.SConscript("$BUILD_SCRIPT")
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Script\SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Script\SConscript.py", line 286:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\GernertD\.platformio\platforms\infineonxmc\builder\main.py", line 142:
    target_elf = env.BuildProgram()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py", line 62:
    env.ProcessProjectDeps()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py", line 131:
    project_lib_builder = env.ConfigureProjectLibBuilder()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 1037:
    lib_builders = env.GetLibBuilders()
  File "C:\Users\GernertD\.platformio\packages\tool-scons\script\..\engine\SCons\Environment.py", line 219:
    return self.method(*nargs, **kwargs)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 962:
    lb = LibBuilderFactory.new(env, lib_dir)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 58:
    obj = getattr(sys.modules[__name__], clsname)(env, path, verbose=verbose)
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 117:
    self._manifest = manifest if manifest else self.load_manifest()
  File "C:\Users\GernertD\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py", line 469:
    return ManifestParserFactory.new_from_file(manifest_path).as_dict()
  File "c:\users\gernertd\.platformio\penv\lib\site-packages\platformio\package\manifest\parser.py", line 74:
    cls.read_manifest_contents(path), type_from_uri, remote_url
  File "c:\users\gernertd\.platformio\penv\lib\site-packages\platformio\package\manifest\parser.py", line 64:
    return fp.read()
  File "C:\Users\GernertD\AppData\Local\Programs\Python\Python36-32\lib\codecs.py", line 321:
    (result, consumed) = self._buffer_decode(data, self.errors, final)
======================================================================================= [FAILED] Took 10.13 seconds =======================================================================================
The terminal process terminated with exit code: 1
valeros commented 4 years ago

Looks like one of the installed libraries contains a corrupted symbol. Is there any chance you could send me a minimal project to reproduce the issue?

DanielGernert commented 4 years ago

Sure. The project is only using the standard Arduino commands:

include

//Define Inputs & Outputs

define PWM_U 11

define PWM_V 10

define PWM_W 9

define EN_U 6

define EN_V 5

define EN_W 3

int state = 0; uint8_t DutyCycle = 25;

void setup() { // Setup the serial connection Serial.begin(9600);

// Define the pin modes pinMode(EN_U, OUTPUT); pinMode(EN_V, OUTPUT); pinMode(EN_W, OUTPUT); pinMode(PWM_U, OUTPUT); setAnalogWriteFrequency(PWM_U,10000); pinMode(PWM_V, OUTPUT); setAnalogWriteFrequency(PWM_V,10000); pinMode(PWM_W, OUTPUT); setAnalogWriteFrequency(PWM_W,10000); }

void loop() { Serial.println(state);

 switch (state)
{
  case 0:
    digitalWrite(EN_U, HIGH);
    digitalWrite(EN_V, HIGH);
    digitalWrite(EN_W, LOW);
    analogWrite(PWM_U, DutyCycle);
    analogWrite(PWM_V, 0);
    analogWrite(PWM_W, 0);
    break;

  case 1:
    digitalWrite(EN_U, HIGH);
    digitalWrite(EN_V, LOW);
    digitalWrite(EN_W, HIGH);
    analogWrite(PWM_U, DutyCycle);
    analogWrite(PWM_V, 0);
    analogWrite(PWM_W, 0);
    break;

  case 2:
    digitalWrite(EN_U, LOW);
    digitalWrite(EN_V, HIGH);
    digitalWrite(EN_W, HIGH);
    analogWrite(PWM_U, 0);
    analogWrite(PWM_V, DutyCycle);
    analogWrite(PWM_W, 0);
    break;

  case 3:
    digitalWrite(EN_U, HIGH);
    digitalWrite(EN_V, HIGH);
    digitalWrite(EN_W, LOW);
    analogWrite(PWM_U, 0);
    analogWrite(PWM_V, DutyCycle);
    analogWrite(PWM_W, 0);
    break;

  case 4:
    digitalWrite(EN_U, HIGH);
    digitalWrite(EN_V, LOW);
    digitalWrite(EN_W, HIGH);
    analogWrite(PWM_U, 0);
    analogWrite(PWM_V, 0);
    analogWrite(PWM_W, DutyCycle);
    break;

  case 5:
    digitalWrite(EN_U, LOW);
    digitalWrite(EN_V, HIGH);
    digitalWrite(EN_W, HIGH);
    analogWrite(PWM_U, 0);
    analogWrite(PWM_V, 0);
    analogWrite(PWM_W, DutyCycle);
    break;

  default:
    break;
}

delay(1000); state++; if(state==6){ state=0; } }

valeros commented 4 years ago

OK, so the problem is BGT24LTR11-Pulsed-Doppler-Radar library, its library.properties contains a broken paragraph field:

paragraph=Infineon’s 24 GHz Sense2GoL Pulse radar system platform, is made up of the Radar Baseboard XMC4700 and BGT24LTR11 radar shield.

If we delete that apostrophe symbol it should work as expected.

AlucardMode0 commented 4 years ago

where do i find this files ?

OK, so the problem is BGT24LTR11-Pulsed-Doppler-Radar library, its library.properties contains a broken paragraph field:

valeros commented 4 years ago

@AlucardMode0 It depends on your OS. If you're on Windows, it should be somewhere here C:\Users\YOUR_USER\.platformio\packages\framework-arduinoxmc\libraries

pfeerick commented 4 years ago

The fix for this is now present on the #develop branch of https://github.com/Infineon/XMC-for-Arduino, so it may be worth seeing if that can be used in the meantime, or wait until that makes it to release, whenever that may be.

ivankravets commented 4 years ago

Fixed in https://github.com/Infineon/platformio-infineonxmc/releases/tag/v1.1.5