Search in sources :

Example 1 with CChip

use of com.profesorfalken.jsensors.manager.unix.jna.CChip in project jSensors by profesorfalken.

the class TestSensorsLinux method main.

public static void main(String[] args) {
    CSensors INSTANCE = Native.loadLibrary("sensors", CSensors.class);
    System.err.println("Return method: " + INSTANCE.sensors_init(null));
    CChip result;
    int numSensor = 0;
    while ((result = INSTANCE.sensors_get_detected_chips(null, new IntByReference(numSensor))) != null) {
        // System.out.println("Found " + result);
        numSensor++;
        System.out.println("Adapter " + INSTANCE.sensors_get_adapter_name(result.bus));
        CFeature feature;
        int numFeature = 0;
        while ((feature = INSTANCE.sensors_get_features(result, new IntByReference(numFeature))) != null) {
            // System.out.println("Found " + feature);
            numFeature++;
            String label = INSTANCE.sensors_get_label(result, feature);
            CSubFeature subFeature;
            int numSubFeature = 0;
            while ((subFeature = INSTANCE.sensors_get_all_subfeatures(result, feature, new IntByReference(numSubFeature))) != null) {
                double value = 0.0;
                DoubleByReference pValue = new DoubleByReference(value);
                int returnValue = INSTANCE.sensors_get_value(result, subFeature.number, pValue);
                System.out.println(label + " feature " + subFeature.name + ": " + pValue.getValue());
                System.out.println(label + "returnValue: " + returnValue);
                System.out.println();
                numSubFeature++;
            }
        }
    }
}
Also used : DoubleByReference(com.sun.jna.ptr.DoubleByReference) IntByReference(com.sun.jna.ptr.IntByReference) CSubFeature(com.profesorfalken.jsensors.manager.unix.jna.CSubFeature) CSensors(com.profesorfalken.jsensors.manager.unix.jna.CSensors) CFeature(com.profesorfalken.jsensors.manager.unix.jna.CFeature) CChip(com.profesorfalken.jsensors.manager.unix.jna.CChip)

Example 2 with CChip

use of com.profesorfalken.jsensors.manager.unix.jna.CChip in project jSensors by profesorfalken.

the class UnixSensorsManager method detectedChips.

private static List<CChip> detectedChips(CSensors cSensors) {
    List<CChip> detectedChips = new ArrayList<CChip>();
    CChip foundChip;
    int numSensor = 0;
    while ((foundChip = cSensors.sensors_get_detected_chips(null, new IntByReference(numSensor))) != null) {
        detectedChips.add(foundChip);
        numSensor++;
    }
    return detectedChips;
}
Also used : IntByReference(com.sun.jna.ptr.IntByReference) ArrayList(java.util.ArrayList) CChip(com.profesorfalken.jsensors.manager.unix.jna.CChip)

Example 3 with CChip

use of com.profesorfalken.jsensors.manager.unix.jna.CChip in project jSensors by profesorfalken.

the class UnixSensorsManager method normalizeSensorsData.

private String normalizeSensorsData(CSensors cSensors) {
    List<CChip> chips = detectedChips(cSensors);
    for (final CChip chip : chips) {
        addData("[COMPONENT]");
        addDebugData(String.format("Type: %d", chip.bus.type));
        addDebugData(String.format("Address: %d", chip.addr));
        addDebugData(String.format("Path: %s", chip.path));
        addDebugData(String.format("Prefix: %s", chip.prefix));
        if (chip.bus != null) {
            switch(chip.bus.type) {
                case 1:
                    addData("CPU");
                    break;
                case 2:
                    addData("GPU");
                    break;
                case 4:
                case 5:
                    addData("DISK");
                    break;
                default:
                    addData("UNKNOWN");
            }
        }
        addData(String.format("Label: %s", cSensors.sensors_get_adapter_name(chip.bus)));
        List<CFeature> features = features(cSensors, chip);
        addFeatures(cSensors, chip, features);
    }
    if (debugMode) {
        LOGGER.info(sensorsDebugData.toString());
    }
    return sensorsData.toString();
}
Also used : CFeature(com.profesorfalken.jsensors.manager.unix.jna.CFeature) CChip(com.profesorfalken.jsensors.manager.unix.jna.CChip)

Aggregations

CChip (com.profesorfalken.jsensors.manager.unix.jna.CChip)3 CFeature (com.profesorfalken.jsensors.manager.unix.jna.CFeature)2 IntByReference (com.sun.jna.ptr.IntByReference)2 CSensors (com.profesorfalken.jsensors.manager.unix.jna.CSensors)1 CSubFeature (com.profesorfalken.jsensors.manager.unix.jna.CSubFeature)1 DoubleByReference (com.sun.jna.ptr.DoubleByReference)1 ArrayList (java.util.ArrayList)1