collin80 / TeslaBMS

143 stars 91 forks source link

Problem getting code to compile #15

Closed ahrenswett closed 4 years ago

ahrenswett commented 4 years ago

@collin80 HI! First I want to say thank a ton for taking this on! Its invaluable and so glad I can use the existing board.

I am new to Arduino and C++ usually code in java so hopping you can help me get this going! here is a link to the commit on my fork with the changes I made for my Due. My commit

I was able to get all the libraries you wrote included as that was first issue. Then I ran into this and changed from serial to USART that seemed to work or at least not error out

//Set to the proper port for your USB connection - SerialUSB on Due (Native) or Serial for Due (Programming) or Teensy
#define SERIALCONSOLE   Serial

//Define this to be the serial port the Tesla BMS modules are connected to.
//On the Due you need to use a USART port (Serial1, Serial2, Serial3) and update the call to serialSpecialInit if not Serial1
#define USART  Serial2

But now it is throwing an `error

In file included from sketch\BMSModule.cpp:3:0:
sketch\BMSUtil.h: In static member function 'static void BMSUtil::sendData(uint8_t*, uint8_t, bool)':
BMSUtil.h:37:16: error: request for member 'write' in '0', which is of non-class type 'int'
         SERIAL.write(addrByte);
                ^

Again thanks a ton for all your work!

ahrenswett commented 4 years ago

Realized my error in changing to: #define USART Serial2 changed to #define SERIAL Serial1 then changed the call to serialSpecialInit in TeslaBMS to: serialSpecialInit(USART1, BMS_BAUD)

Now top error has to do with externa EEPROMSettings settings;

ahrenswett commented 4 years ago

now im having issues with due_wire not having a dependancy. Where do I find the following dependancy?

// Include Atmel CMSIS driver
#include <include/twi.h>
collin80 commented 4 years ago

https://github.com/collin80/due_wire

ahrenswett commented 4 years ago

https://github.com/collin80/due_wire Got it. is it normal to get red messages about redefining SERIAL and than have it compile?


In file included from sketch\Logger.h:31:0,
from C:\Users\ahren\TeslaBmsDependancies\TeslaBMS\TeslaBMS.ino:7:
sketch\config.h:10:0: warning: "SERIAL" redefined [enabled by default]
#define SERIAL  Serial1
^
In file included from C:\Users\ahren\Documents\ArduinoData\packages\arduino\hardware\sam\1.6.12\cores\arduino/Arduino.h:44:0,
from C:\Users\ahren\TeslaBmsDependancies\TeslaBMS\TeslaBMS.ino:6:
C:\Users\ahren\Documents\ArduinoData\packages\arduino\hardware\sam\1.6.12\cores\arduino/wiring_constants.h:43:0: note: this is the location of the previous definition
#define SERIAL  0x0
^
C:\Users\ahren\TeslaBmsDependancies\TeslaBMS\TeslaBMS.ino: In function 'void loadSettings()':
C:\Users\ahren\TeslaBmsDependancies\TeslaBMS\TeslaBMS.ino:56:56: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
Logger::console("Resetting to factory defaults");
^
C:\Users\ahren\TeslaBmsDependancies\TeslaBMS\TeslaBMS.ino:71:58: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
Logger::console("Using stored values from EEPROM");
^
Sketch uses 60916 bytes (11%) of program storage space. Maximum is 524288 bytes.
Atmel SMART device 0x285e0a60 found
Erase flash
done in 0.032 seconds

Write 63300 bytes to flash (248 pages) [==============================] 100% (248/248 pages) done in 12.176 seconds

Verify 63300 bytes of flash [==============================] 100% (248/248 pages) Verify successful done in 11.179 seconds Set boot flash true CPU reset.

collin80 commented 4 years ago

I don't seem to get that warning when compiling the code. I don't know where that's coming from. But, hopefully it works anyway.

ahrenswett commented 4 years ago

I don't seem to get that warning when compiling the code. I don't know where that's coming from. But, hopefully it works anyway. Got It! notice the light flashing as i was checking ports looks like the pins on the end of my wires for my breadboard were to thin to give a good connection on the header to the arduino. wiggled a bit and now its golden! got the menu after typing ?