C++ requires a type specifier for all declarations

Discussion about Z-Uno product. Visit http://z-uno.z-wave.me for more details.
lanbrown
Posts: 373
Joined: 01 Jun 2021 08:06

C++ requires a type specifier for all declarations

Post by lanbrown »

So I'm using one of the sketches that is listed as one of the examples. I did make sure I selected the 7th Gen device type since that is what I have.

The error log shows this when verifying shows this:

Code: Select all

************* Building Arduino Sketch *************
	C:\Users\userx\AppData\Local\Temp\2\build1605324662234274195.tmp/sketch_aug26b.cpp
	***************************************************

Preprocessing file: Custom.c with SDCPP... 

Preprocessing file: sketch_aug26b.cpp with SDCPP... 
Compiling sketch_aug26b_sdcpp_.cpp ...
sketch_aug26b:79: error: C++ requires a type specifier for all declarations
sketch_aug26b:79: error: expected expression

uCxx returned error code:1

C++ requires a type specifier for all declarations
This is highlighted red in the IDE window:

Code: Select all

ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_TEMPERATURE,
The sketch I used was this one:
https://z-uno.z-wave.me/examples/onewir ... d-display/

Code: Select all

// demo sketch for connecting I2C LCD display and OneWire temperature sensor DS18B20 to Z-Uno
	
	// add library Wire.h
	#include "Wire.h"
	#include "Print.h"
	
	// add library ds18b20
	#include "ZUNO_DS18B20.h"
	
	// i2c address
	#define LC_I2CADDR 0x27
	
	// commands
	#define LCD_CLEARDISPLAY 0x01
	#define LCD_RETURNHOME 0x02
	#define LCD_ENTRYMODESET 0x04
	#define LCD_DISPLAYCONTROL 0x08
	#define LCD_CURSORSHIFT 0x10
	#define LCD_FUNCTIONSET 0x20
	#define LCD_SETCGRAMADDR 0x40
	#define LCD_SETDDRAMADDR 0x80
	
	// flags for display entry mode
	#define LCD_ENTRYRIGHT 0x00
	#define LCD_ENTRYLEFT 0x02
	#define LCD_ENTRYSHIFTINCREMENT 0x01
	#define LCD_ENTRYSHIFTDECREMENT 0x00
	
	// flags for display on/off control
	#define LCD_DISPLAYON 0x04
	#define LCD_DISPLAYOFF 0x00
	#define LCD_CURSORON 0x02
	#define LCD_CURSOROFF 0x00
	#define LCD_BLINKON 0x01
	#define LCD_BLINKOFF 0x00
	
	// flags for display/cursor shift
	#define LCD_DISPLAYMOVE 0x08
	#define LCD_CURSORMOVE 0x00
	#define LCD_MOVERIGHT 0x04
	#define LCD_MOVELEFT 0x00
	
	// flags for function set
	#define LCD_8BITMODE 0x10
	#define LCD_4BITMODE 0x00
	#define LCD_2LINE 0x08
	#define LCD_1LINE 0x00
	#define LCD_5x10DOTS 0x04
	#define LCD_5x8DOTS 0x00
	
	// flags for backlight control
	#define LCD_BACKLIGHT 0x08
	#define LCD_NOBACKLIGHT 0x00
	
	#define En 0x4  // Enable bit
	#define Rw 0x2  // Read/Write bit
	#define Rs 0x1  // Register select bit
	
	int  cols;
	int  rows;
	int  numlines;
	int  backlightval;
	int  displayfunction;
	int  displaycontrol;
	int  displaymode;
	
	// pin connection ds18b20
	#define PIN_DS18B20 11
	// add library OneWire
	OneWire ow(11);
	// onewire connection temperature sensors
	DS18B20Sensor  ds1820(&ow); 
	
	byte addr1[8];
	int temp; 
	
	// set up channel
	ZUNO_SETUP_CHANNELS(
	   ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_TEMPERATURE, 
							  SENSOR_MULTILEVEL_SCALE_CELSIUS, 
							  SENSOR_MULTILEVEL_SIZE_TWO_BYTES, 
							  SENSOR_MULTILEVEL_PRECISION_ONE_DECIMAL,
							  getterTemp)
	);
	
	void setup() {
	  Serial.begin();
	  Serial.println("start");
	  lcdbegin(16,2);  
	 }
	
	void loop() {
		// obtaining readings from the sensor ds18b20
		temp=getTempds18b20();
		// print temp display
		printTempds18b20(temp);
		// send data to channel
		zunoSendReport(1);     
		// send every 30 second
		delay(30000);
	  }
	
	int getTempds18b20() {
		// search OneWire device
		if(ds1820.scanAloneSensor(addr1)==1) { 
		   for(int i = 0; i < 8; i++) {
			  // print OneWire kod
			  Serial.print(addr1[i], HEX);
			  Serial.print(" ");
			  }
		   Serial.println();
		   Serial.print("t=");
		   // receiving data from the sensor      
		   temp=ds1820.getTempC100(addr1)/10;
		   Serial.println(temp);       
		   } else {
		   Serial.println("error");
		   temp=1000;       
		   }
		return temp;
		}
	
	 word getterTemp() {
	  return temp;
	}
	
	
	void printTempds18b20(int temp) {
	  clear();
	  setCursor(0,0);
	  write('T');
	  write('=');  
	  if(temp<100) {
		 write(32);
	  } else {
		 write(temp/100+48);
	  }
	  write((temp%100)/10+48); 
	  write(44);   
	  write((temp%100)%10+48);  
	  write(32);  
	  write('C');  
	  return;
	}
	
	void lcdbegin(int c,int r) {
	  //
	  cols=c;
	  rows=r;
	  backlightval = LCD_BACKLIGHT;
	  //
	  Wire.begin();
	  displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS;
	  //  
	  if (rows > 1) {
		displayfunction |= LCD_2LINE;
	  }
	  numlines = rows;
	
	  // SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION!
	  // according to datasheet, we need at least 40ms after power rises above 2.7V
	  // before sending commands. Arduino can turn on way befer 4.5V so we'll wait 50
	  delay(50); 
	  
	  // Now we pull both RS and R/W low to begin commands
	  expanderWrite(backlightval); // reset expanderand turn backlight off (Bit 8 =1)
	  delay(1000);
	
	  //put the LCD into 4 bit mode
	  // this is according to the hitachi HD44780 datasheet
	  // figure 24, pg 46
	  
	   // we start in 8bit mode, try to set 4 bit mode
	   write4bits(0x03 << 4);
	   delayMicroseconds(500); // wait min 4.1ms
	   delay(4);
	   
	   // second try
	   write4bits(0x03 << 4);
	   delayMicroseconds(500); // wait min 4.1ms
	   delay(4);
	   
	   // third go!
	   write4bits(0x03 << 4); 
	   delayMicroseconds(150);
	   
	   // finally, set to 4-bit interface
	   write4bits(0x02 << 4); 
	
	
	  // set # lines, font size, etc.
	  command(LCD_FUNCTIONSET | displayfunction);  
	  
	  // turn the display on with no cursor or blinking default
	  displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF;
	  display();
	  
	  // clear it off
	  clear();
	  
	  // Initialize to default text direction (for roman languages)
	  displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT;
	  
	  // set the entry mode
	  command(LCD_ENTRYMODESET | displaymode);
	  
	  home();
	
	  }
	
	/********** high level commands, for the user! */
	void clear(){
	  command(LCD_CLEARDISPLAY);// clear display, set cursor position to zero
	  delay(2);  // this command takes a long time!
	}
	
	void home(){
	  command(LCD_RETURNHOME);  // set cursor position to zero
	  delay(2);  // this command takes a long time!
	}
	
	void setCursor(uint8_t col, uint8_t row){
	  int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
	  if ( row > numlines ) {
		row = numlines-1;    // we count rows starting w/0
	  }
	  command(LCD_SETDDRAMADDR | (col + row_offsets[row]));
	}
	
	// Turn the display on/off (quickly)
	void noDisplay() {
	  displaycontrol &= ~LCD_DISPLAYON;
	  command(LCD_DISPLAYCONTROL | displaycontrol);
	}
	void display() {
	  displaycontrol |= LCD_DISPLAYON;
	  command(LCD_DISPLAYCONTROL | displaycontrol);
	}
	
	
	
	
	inline void command(uint8_t value) {
	  send(value, 0);
	}
	
	inline size_t write(uint8_t value) {
	  send(value, Rs);
	  return 0;
	}
	/************ low level data pushing commands **********/
	
	// write either command or data
	void send(uint8_t value, uint8_t mode) {
	  uint8_t highnib=value&0xf0;
	  uint8_t lownib=(value<<4)&0xf0;
	  write4bits((highnib)|mode);
	  write4bits((lownib)|mode); 
	}
	
	void write4bits(uint8_t value) {
	  expanderWrite(value);
	  pulseEnable(value);
	}
	
	void expanderWrite(uint8_t _data){                                        
	  Wire.beginTransmission(LC_I2CADDR);
	  Wire.write((int)(_data) | backlightval);
	  Wire.endTransmission();   
	}
	
	void pulseEnable(uint8_t _data){
	  expanderWrite(_data | En);  // En high
	  delayMicroseconds(1);   // enable pulse must be >450ns
	  
	  expanderWrite(_data & ~En); // En low
	  delayMicroseconds(50);    // commands need > 37us to settle
	}
amatilda
Posts: 70
Joined: 26 Sep 2021 22:09

Re: C++ requires a type specifier for all declarations

Post by amatilda »

Hello.
Judging by "Preprocessing file: Custom.c with SDCPP..." you have chosen 5th Gen device type.
How exactly did you choose the 7th Gen device type?

Here is a link to an example for 5th Gen device type:
https://z-uno.z-wave.me/examples/onewir ... Version=v1


Here is a link to an example for 7th Gen device type:
https://z-uno.z-wave.me/examples/onewir ... Version=v2
lanbrown
Posts: 373
Joined: 01 Jun 2021 08:06

Re: C++ requires a type specifier for all declarations

Post by lanbrown »

I only have the single device and it is selected in the IDE on the port page. Then I used the 700 series sketch.

Same error and used this:

Code: Select all

// demo sketch for connecting I2C LCD display and OneWire temperature sensor DS18B20 to Z-Uno
	
	// add library Wire.h
	#include "Wire.h"
	#include "Print.h"
	
	// add library ds18b20
	#include "ZUNO_DS18B20.h"
	
	// i2c address
	#define LC_I2CADDR 0x27
	
	// commands
	#define LCD_CLEARDISPLAY 0x01
	#define LCD_RETURNHOME 0x02
	#define LCD_ENTRYMODESET 0x04
	#define LCD_DISPLAYCONTROL 0x08
	#define LCD_CURSORSHIFT 0x10
	#define LCD_FUNCTIONSET 0x20
	#define LCD_SETCGRAMADDR 0x40
	#define LCD_SETDDRAMADDR 0x80
	
	// flags for display entry mode
	#define LCD_ENTRYRIGHT 0x00
	#define LCD_ENTRYLEFT 0x02
	#define LCD_ENTRYSHIFTINCREMENT 0x01
	#define LCD_ENTRYSHIFTDECREMENT 0x00
	
	// flags for display on/off control
	#define LCD_DISPLAYON 0x04
	#define LCD_DISPLAYOFF 0x00
	#define LCD_CURSORON 0x02
	#define LCD_CURSOROFF 0x00
	#define LCD_BLINKON 0x01
	#define LCD_BLINKOFF 0x00
	
	// flags for display/cursor shift
	#define LCD_DISPLAYMOVE 0x08
	#define LCD_CURSORMOVE 0x00
	#define LCD_MOVERIGHT 0x04
	#define LCD_MOVELEFT 0x00
	
	// flags for function set
	#define LCD_8BITMODE 0x10
	#define LCD_4BITMODE 0x00
	#define LCD_2LINE 0x08
	#define LCD_1LINE 0x00
	#define LCD_5x10DOTS 0x04
	#define LCD_5x8DOTS 0x00
	
	// flags for backlight control
	#define LCD_BACKLIGHT 0x08
	#define LCD_NOBACKLIGHT 0x00
	
	#define En 0x4  // Enable bit
	#define Rw 0x2  // Read/Write bit
	#define Rs 0x1  // Register select bit
	
	int  cols;
	int  rows;
	int  numlines;
	int  backlightval;
	int  displayfunction;
	int  displaycontrol;
	int  displaymode;
	
	// pin connection ds18b20
	#define PIN_DS18B20 11
	// add library OneWire
	OneWire ow(11);
	// onewire connection temperature sensors
	DS18B20Sensor  ds1820(&ow); 
	
	byte addr1[8];
	int temp; 
	
	// set up channel
	ZUNO_SETUP_CHANNELS(
	   ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_TEMPERATURE, 
							  SENSOR_MULTILEVEL_SCALE_CELSIUS, 
							  SENSOR_MULTILEVEL_SIZE_TWO_BYTES, 
							  SENSOR_MULTILEVEL_PRECISION_ONE_DECIMAL,
							  getterTemp)
	);
	
	void setup() {
	  Serial.begin();
	  Serial.println("start");
	  lcdbegin(16,2);  
	 }
	
	void loop() {
		// obtaining readings from the sensor ds18b20
		temp=getTempds18b20();
		// print temp display
		printTempds18b20(temp);
		// send data to channel
		zunoSendReport(1);     
		// send every 30 second
		delay(30000);
	  }
	
	int getTempds18b20() {
		// search OneWire device
		if(ds1820.scanAloneSensor(addr1)==1) { 
		   for(int i = 0; i < 8; i++) {
			  // print OneWire kod
			  Serial.print(addr1[i], HEX);
			  Serial.print(" ");
			  }
		   Serial.println();
		   Serial.print("t=");
		   // receiving data from the sensor      
		   temp=ds1820.getTempC100(addr1)/10;
		   Serial.println(temp);       
		   } else {
		   Serial.println("error");
		   temp=1000;       
		   }
		return temp;
		}
	
	 word getterTemp() {
	  return temp;
	}
	
	
	void printTempds18b20(int temp) {
	  clear();
	  setCursor(0,0);
	  write('T');
	  write('=');  
	  if(temp<100) {
		 write(32);
	  } else {
		 write(temp/100+48);
	  }
	  write((temp%100)/10+48); 
	  write(44);   
	  write((temp%100)%10+48);  
	  write(32);  
	  write('C');  
	  return;
	}
	
	void lcdbegin(int c,int r) {
	  //
	  cols=c;
	  rows=r;
	  backlightval = LCD_BACKLIGHT;
	  //
	  Wire.begin();
	  displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS;
	  //  
	  if (rows > 1) {
		displayfunction |= LCD_2LINE;
	  }
	  numlines = rows;
	
	  // SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION!
	  // according to datasheet, we need at least 40ms after power rises above 2.7V
	  // before sending commands. Arduino can turn on way befer 4.5V so we'll wait 50
	  delay(50); 
	  
	  // Now we pull both RS and R/W low to begin commands
	  expanderWrite(backlightval); // reset expanderand turn backlight off (Bit 8 =1)
	  delay(1000);
	
	  //put the LCD into 4 bit mode
	  // this is according to the hitachi HD44780 datasheet
	  // figure 24, pg 46
	  
	   // we start in 8bit mode, try to set 4 bit mode
	   write4bits(0x03 << 4);
	   delayMicroseconds(500); // wait min 4.1ms
	   delay(4);
	   
	   // second try
	   write4bits(0x03 << 4);
	   delayMicroseconds(500); // wait min 4.1ms
	   delay(4);
	   
	   // third go!
	   write4bits(0x03 << 4); 
	   delayMicroseconds(150);
	   
	   // finally, set to 4-bit interface
	   write4bits(0x02 << 4); 
	
	
	  // set # lines, font size, etc.
	  command(LCD_FUNCTIONSET | displayfunction);  
	  
	  // turn the display on with no cursor or blinking default
	  displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF;
	  display();
	  
	  // clear it off
	  clear();
	  
	  // Initialize to default text direction (for roman languages)
	  displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT;
	  
	  // set the entry mode
	  command(LCD_ENTRYMODESET | displaymode);
	  
	  home();
	
	  }
	
	/********** high level commands, for the user! */
	void clear(){
	  command(LCD_CLEARDISPLAY);// clear display, set cursor position to zero
	  delay(2);  // this command takes a long time!
	}
	
	void home(){
	  command(LCD_RETURNHOME);  // set cursor position to zero
	  delay(2);  // this command takes a long time!
	}
	
	void setCursor(uint8_t col, uint8_t row){
	  int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
	  if ( row > numlines ) {
		row = numlines-1;    // we count rows starting w/0
	  }
	  command(LCD_SETDDRAMADDR | (col + row_offsets[row]));
	}
	
	// Turn the display on/off (quickly)
	void noDisplay() {
	  displaycontrol &= ~LCD_DISPLAYON;
	  command(LCD_DISPLAYCONTROL | displaycontrol);
	}
	void display() {
	  displaycontrol |= LCD_DISPLAYON;
	  command(LCD_DISPLAYCONTROL | displaycontrol);
	}
	
	
	
	
	inline void command(uint8_t value) {
	  send(value, 0);
	}
	
	inline size_t write(uint8_t value) {
	  send(value, Rs);
	  return 0;
	}
	/************ low level data pushing commands **********/
	
	// write either command or data
	void send(uint8_t value, uint8_t mode) {
	  uint8_t highnib=value&0xf0;
	  uint8_t lownib=(value<<4)&0xf0;
	  write4bits((highnib)|mode);
	  write4bits((lownib)|mode); 
	}
	
	void write4bits(uint8_t value) {
	  expanderWrite(value);
	  pulseEnable(value);
	}
	
	void expanderWrite(uint8_t _data){                                        
	  Wire.beginTransmission(LC_I2CADDR);
	  Wire.write((int)(_data) | backlightval);
	  Wire.endTransmission();   
	}
	
	void pulseEnable(uint8_t _data){
	  expanderWrite(_data | En);  // En high
	  delayMicroseconds(1);   // enable pulse must be >450ns
	  
	  expanderWrite(_data & ~En); // En low
	  delayMicroseconds(50);    // commands need > 37us to settle
	}
lanbrown
Posts: 373
Joined: 01 Jun 2021 08:06

Re: C++ requires a type specifier for all declarations

Post by lanbrown »

What is strange is that on this page if I select in the upper right Z-Uno 2 (7th Generation)
https://z-uno.z-wave.me/examples/

If I select
Multiple DS18B20 temperature sensors
which should be a Z-Uno 2 (7th Generation board), it takes me to this sketch:
https://z-uno.z-wave.me/examples/multip ... e-sensors/
There is no drop down in the upper right, so based upon it being listed on the Z-Uno 2 (7th Generation) page, it should be the current board that is being sold.

If I try to burn the bootloader I get this error message:
It seems you try to use toolchain for ZUNO G1, but you have connected ZUNO G2 version 0305 to your PC via COM4.
Please use the right toolchain for your board. If you have both boards connected - select the G1 port.
I even tried this sketch:
https://z-uno.z-wave.me/examples/CO2_sensor/
In the upper right Z-Uno 2 (7th Generation) is selected. I get the same error about the toolchain for ZUNO G1. I have tried this on Windows as well as macOS and same error.

The IDE I'm using is 1.6.5 as the quick start guide says that is what is supported. I'm also using 2.1.8 board manager.
Attachments
Screen Shot 2022-08-26 at 9.14.02 PM.png
Screen Shot 2022-08-26 at 9.14.02 PM.png (930.38 KiB) Viewed 7624 times
Screen Shot 2022-08-26 at 9.04.53 PM.png
Screen Shot 2022-08-26 at 9.04.53 PM.png (680.58 KiB) Viewed 7624 times
lanbrown
Posts: 373
Joined: 01 Jun 2021 08:06

Re: C++ requires a type specifier for all declarations

Post by lanbrown »

So I figured out the issue but a new one has arose to still stop any progress. The documentation lists to add this url:
https://z-uno.z-wave.me/files/z-uno/pac ... index.json

It should actually be this URL:
https://z-uno.z-wave.me/files/z-uno2/pa ... index.json

The issue I now I have, trying to install Z-Uno2 fails the CRC check. I have tried this under Windows and macOS also using 1.6.5 and even 1.8.19 on both.
Attachments
Screen Shot 2022-08-26 at 11.44.36 PM.png
Screen Shot 2022-08-26 at 11.44.36 PM.png (56.49 KiB) Viewed 7619 times
lanbrown
Posts: 373
Joined: 01 Jun 2021 08:06

Re: C++ requires a type specifier for all declarations

Post by lanbrown »

Ok, so the issue is indeed with the documentation for the Z-Uno G2 documentation. It listed the wrong URL for the G2 so the toolchain being used was for the G1. Changing the URL (which I took a guess on) for the Z-Uno2, did allow the correct dependencies to show in the board manger. However, the checksums were not correct and thus wouldn't install. As a workaround, I looked at the json file and saw all of the files in it. I downloaded them to the machine I have the IDE installed on. I then started a web server on it. I modified the json file to remove the checksums listed and also to change the path to use the local web server for the files. This allowed for the installation of 3.0.6 for the Z-Uno2 and allowed me to compile a sketch and burn the bootloader.

So Z-Wave.me needs to update the documentation for the correct URL and look into the checksum error.
User avatar
PoltoS
Posts: 7649
Joined: 26 Jan 2011 19:36

Re: C++ requires a type specifier for all declarations

Post by PoltoS »

For the checksum error, please delete all downloaded files in stage folder in .arduino/hardware/z-uno (click in settings window to open this folder).

As for the G1/G2 and docs, on which page you found incorrect information that confused you?
lanbrown
Posts: 373
Joined: 01 Jun 2021 08:06

Re: C++ requires a type specifier for all declarations

Post by lanbrown »

On this page in the upper right, 7th Gen was selected:
https://z-uno.z-wave.me/getting-started/
I selected the Quick Start Guide which opened up the below link:
https://z-uno.z-wave.me/QSG/
Page six had the wrong link for the 7th Gen board. However, the guide looks to be for the 5th Gen as the picture doesn't look like the 7th Gen board. So it is possible the wrong Quick Start Guide is the problem.

For the 7th Gen. What release of the IDE should be used? In the Quick Start Guide lists 1.6.5 but that also appears to be for the 5th Gen. I do get a compile error on the sketch that is direct from an example. So I want to rule out it could be the IDE version I'm using as it is 1.8.19. I upgraded to it to see if the CRC errors went away...which they did not.

The errors seen are:

Code: Select all

Traceback (most recent call last):
  File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line 151, in __init__
  File "ctypes\__init__.py", line 373, in __init__
FileNotFoundError: Could not find module 'C:\Users\User\AppData\Local\Arduino15\packages\Z-Uno2\tools\libClang\11.0.1\libclang.dll' (or one of its dependencies). Try using the full path with constructor syntax.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "site-packages\sealang-3.9.dev259750-py3.8-win32.egg\clang\cindex.py", line 4014, in get_cindex_library
  File "ctypes\__init__.py", line 451, in LoadLibrary
  File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line 153, in __init__
PyInstallerImportError: Failed to load dynlib/dll 'C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\Z-Uno2\\tools\\libClang\\11.0.1/libclang.dll'. Most probably this dynlib/dll was not found when the application was frozen.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "\\vmware-host\Shared Folders\Code\ZUno\G2\ZMEToolchain\zme_make.py", line 608, in buildSketch
  File "\\vmware-host\Shared Folders\Code\ZUno\G2\ZMEToolchain\zme_make.py", line 121, in convert_sketch
  File "zme_preproc.py", line 1189, in preproc_sketch
  File "zme_preproc.py", line 359, in initCLang
  File "site-packages\sealang-3.9.dev259750-py3.8-win32.egg\clang\cindex.py", line 153, in __get__
  File "site-packages\sealang-3.9.dev259750-py3.8-win32.egg\clang\cindex.py", line 3981, in lib
  File "site-packages\sealang-3.9.dev259750-py3.8-win32.egg\clang\cindex.py", line 4019, in get_cindex_library
clang.cindex.LibclangError: Failed to load dynlib/dll 'C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\Z-Uno2\\tools\\libClang\\11.0.1/libclang.dll'. Most probably this dynlib/dll was not found when the application was frozen.. To provide a path to libclang use Config.set_library_path() or Config.set_library_file().
Couldn't determine program size
I did verify that the file referenced as missing is actually there. I cannot speak about the dependencies though.

Code: Select all

C:\Users\User\AppData\Local\Arduino15\packages\Z-Uno2\tools\libClang\11.0.1\libclang.dll' (or one of its dependencies)
User avatar
PoltoS
Posts: 7649
Joined: 26 Jan 2011 19:36

Re: C++ requires a type specifier for all declarations

Post by PoltoS »

Oh, got it. QSG is still with the old board info... Thanks for pointing this out.

As for the error, @amatilda will check it.
amatilda
Posts: 70
Joined: 26 Sep 2021 22:09

Re: C++ requires a type specifier for all declarations

Post by amatilda »

lanbrown wrote:
27 Aug 2022 07:48
So I figured out the issue but a new one has arose to still stop any progress. The documentation lists to add this url:
https://z-uno.z-wave.me/files/z-uno/pac ... index.json

It should actually be this URL:
https://z-uno.z-wave.me/files/z-uno2/pa ... index.json

The issue I now I have, trying to install Z-Uno2 fails the CRC check. I have tried this under Windows and macOS also using 1.6.5 and even 1.8.19 on both.
Hello.

Use these links:

z-uno 3.7
http://z-uno.z-wave.me/files/z-uno2/pa ... ndex.json

z-uno 3.9 beta
https://z-uno.z-wave.me/files/z-uno2/p ... ndex.json
Post Reply