Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Y505-A Aquaculture Optical Dissolved Oxygen Sensor support? #34

Open
primus192 opened this issue Jun 13, 2023 · 6 comments
Open

Y505-A Aquaculture Optical Dissolved Oxygen Sensor support? #34

primus192 opened this issue Jun 13, 2023 · 6 comments

Comments

@primus192
Copy link

Hi. Is Y505-A sensor supported? I see it in the yosemitechModel but it is commented and i appears not to be working on Y504 config. Thanks for any help.

@primus192
Copy link
Author

False alarm. It is working on Y504 config.

@aufdenkampe
Copy link
Member

@primus192, thanks for letting us know that the Y504 functions work well with the Y505 sensor. I expected that they might, but I've never had the modbus manual for the Y505 nor one to test, so I just didn't know.

What are the first 3 digits of your serial number on the Y505? With that info, I could get this to work with the Y505 explicitly

@aufdenkampe aufdenkampe reopened this Sep 16, 2024
@primus192
Copy link
Author

@primus192, thanks for letting us know that the Y504 functions work well with the Y505 sensor. I expected that they might, but I've never had the modbus manual for the Y505 nor one to test, so I just didn't know.

What are the first 3 digits of your serial number on the Y505? With that info, I could get this to work with the Y505 explicitly

Hello.
Probe Y505-A with serial number YL5023060111
SV 1.5
PRODUCTION DATE 07 JUNE 2023.

Meanwhile i am currently using mainly Y4000 sondes. Yosemitech succesively
releases new versions of this multi sonde. With each new HW version of the
sonde the Multi-parameter measurement adresses changes. Look at the manuals:

458703096_1070240110598742_6800158530611044979_n
458985035_875736024498052_5175155672599535422_n

Single reference readings stays the same tho and new measurements are being
added as new adresses. For example placement of the BGA readings changed. I
am using Salinity reading from conductivity sensor and dissolved oxygen
percentage and managed to rewrite some part of the code to use single
reference readings. Dont You think it will be better idea for future
versions?

bool yosemitech::getValues(float& DOmgL, float& Turbidity, float& Cond,
    float& pH, float& Temp, float& ORP,
    float& Chlorophyll, float& OIW, float& Salinity, float& BGA, float&
DOpercent, float& TDS, byte& errorCode) {
    // Set values to -9999 and error flagged before asking for the result
    DOmgL = -9999;      // firstValue
    Turbidity = -9999;  // secondValue
    Cond = -9999;       // thirdValue
    pH = -9999;         // forthValue
    Temp = -9999;       // fifthValue
    ORP = -9999;        // sixthValue
    Chlorophyll = -9999; // seventhValue
    OIW = -9999;
    Salinity = -9999;
    BGA = -9999;        // eighthValue
    DOpercent = -9999;
    TDS = -9999;
    errorCode = 0xFF;  // Error!

    switch (_model) {
    case Y4000:   // Y4000 Multiparameter sonde
    {
        // Sonde's 8 values begin in register 260
        Temp = modbus.float32FromRegister(0x03, 0x2606, littleEndian);  //
Temperature
        ORP = modbus.float32FromRegister(0x03, 0x260B, littleEndian);  //
ORP
        Salinity = modbus.float32FromRegister(0x03, 0x2608, littleEndian);
// Salinity
        DOmgL = modbus.float32FromRegister(0x03, 0x2601, littleEndian);
// DOmgL
        DOpercent = modbus.float32FromRegister(0x03, 0x260A, littleEndian);
// DOpercent
        Turbidity = modbus.float32FromRegister(0x03, 0x2602, littleEndian);
  // Turbidity
        Cond = modbus.float32FromRegister(0x03, 0x2603, littleEndian);  //
Conductivity
        pH = modbus.float32FromRegister(0x03, 0x2604, littleEndian);  // pH
        Chlorophyll = modbus.float32FromRegister(0x03, 0x260C,
littleEndian); // Chlorophyll
        OIW = modbus.float32FromRegister(0x03, 0x260D, littleEndian); // OIW
        BGA = modbus.float32FromRegister(0x03, 0x260E, littleEndian);  //
Blue Green Algae (BGA)
        TDS = modbus.float32FromRegister(0x03, 0x260F, littleEndian);  //
Total dissolved solids (TDS)
        errorCode = modbus.byteFromRegister(0x03, 0x0800, 1);
        break;
    }
    // Only the sonde can return 8 values!
    default: return false;
    }
    // If something fails, we'll get here
    return false;
}

The newest sonde is looking like this:
Opera Zrzut ekranu_2024-09-17_121842_e yosemitech com

@aufdenkampe
Copy link
Member

Thanks for that info!!!

Let's spin this into a new issue and work together to get a code update to work with all models. I have one of the first sondes that they made, and I worked with some clients in 2021 to deploy a bunch of other sondes.

Are you able to do a pull request with your updated code?

@primus192
Copy link
Author

primus192 commented Sep 17, 2024 via email

@primus192
Copy link
Author

primus192 commented Sep 19, 2024

I made pull request with my changes in regards with Y4000v2 sondes. Please be easy on me as it is one of the first contributions that i made.

#41

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants