Skip to content

Facing problem in case of ESP32 cs5532 can you help me out to properly initialize SPI communication?  #2

Description

@Sanjaypatel145

#include <Arduino.h>
#include <SPI.h>
#include <CS5532.h>
SPIClass CS5532_SPI = SPIClass(HSPI);
CS5532 Scale;

uint32_t startTime;
int32_t value;
float calibrationWeight = 20;
uint8_t averageAmount = 100;
float calFactor = 0.00213125;
int32_t zeroOffset = 2356;
void setup()
{
Serial.begin(115200);
Serial.println("Starting CS5532");
Scale.begin(CS5532_CLK, CS5532_MISO, CS5532_MOSI, CS5532_SS, CS5532_SPI);

if (!Scale.reset())
{
    Serial.println("Starting CS5532 failed");
    while (true) { }
}

Serial.println("CS5532 Initialized Successfully");

uint32_t tmp = Scale.getRegister(static_cast<uint8_t>(Command::ConfigRead));

Serial.print("CONFIG Register:");
Serial.println(tmp, BIN);

Scale.setRegister(static_cast<uint8_t>(Command::ConfigWrite), CS5532_UNIPOLAR);

uint32_t cmpl = Scale.calculateTwoComplement(0xFFFFFFFF);
//uint32_t cmpl = Scale.calculateTwoComplement(0x80000000);
Scale.setRegister(OffsetWriteCh1, cmpl);
Scale.setCalibrationFactor(calFactor);    
Scale.setZeroOffset(zeroOffset);
Scale.setSampleRate(CS5532_SPS_6P25); // Set the sample rate to 800 Hz
Scale.setGain(CS5532_GAIN_2); // Set the gain to 64
//calibrate the sensor's offset value     
//calibrate the sensor's gain value

}

void loop()
{
int32_t recData = Scale.getWeight(averageAmount);
Serial.print("Average Weight: ");
Serial.println(recData);
//Serial.print("Calibration Factor: ");
//Serial.println(Scale.getCalibrationFactor());
//Serial.print("Zero Offset: ");
//Serial.println(Scale.getZeroOffset());
delay(1000);
if (Serial.available() > 0)
{
char command = Serial.read();
if (command == 't')
{
Scale.calculateZeroOffset(averageAmount);
Serial.print("Zero Offset: ");
Serial.println(Scale.getZeroOffset());
}
else if (command == 'c')
{
float weight;
weight = Serial.parseFloat();
Scale.calculateCalibrationFactor(weight, averageAmount);
Serial.print("Calibration Factor: ");
Serial.println(Scale.getCalibrationFactor());
Serial.print("Zero Offset: ");
Serial.println(Scale.getZeroOffset());
}
}
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions