#include <bluesense.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char **argv) {
bsDeviceInterface_registeredDeviceInterfaces_t registered =
bsDeviceInterface_allocInterfaceTable();
bsDeviceTable_table_t devices =
bsDeviceTable_allocDeviceTable();
bsMaster_device_t master =
bsMaster_allocMaster(registered,devices,0);
#if 0
bsMaster_addIPAddress(master, "1269", "admin", "admin");
#endif
bsDeviceTable_deviceInfo_t adev =
bsMaster_detectDevice(master, 1579, 5 * 1000 * 1000);
bsDeviceTable_deviceInfo_t ddev =
bsMaster_detectDevice(master, 1594, 5 * 1000 * 1000);
bsDeviceTable_deviceInfo_t sdev =
bsMaster_detectDevice(master, 1613, 5 * 1000 * 1000);
bsAdcInputDevice_specifics_t adcDev =
bsAdcInputDevice_getDeviceSpecifics(adev);
bsAdcInputDevice_requestSetConfiguration(adcDev, 256, 10, 8);
bsOCOutputDevice_specifics_t ocoDev =
bsOCOutputDevice_getDeviceSpecifics(ddev);
bsStepperDevice_specifics_t stpDev =
bsStepperDevice_getDeviceSpecifics(sdev);
bsStepperDevice_requestSetConfig(stpDev, 900,0,0,0,0);
fflush(stdout);
uint16_t last;
uint32_t prevASyncYield = 0;
uint8_t spena = 0;
for(last = 0;;) {
uint16_t v1 = bsAdcInputDevice_getLastSampledInput(adcDev, 0);
uint16_t v2 = bsAdcInputDevice_getLastSampledInput(adcDev, 1);
if (v1!=0) {
if (v1!=last) {
printf("Input %u %u %u \n", v1,v2,v1+v2);
fflush(stdout);
last = v1;
uint8_t nsp = (v1+v2)>100;
spena = nsp;
int8_t v = v1;
bsStepperDevice_requestSetSpeed(stpDev, v);
}
}
prevASyncYield = bsMaster_aSyncYield(master,2000,prevASyncYield);
}
bsMaster_freeMaster(master);
bsDeviceTable_freeDeviceTable(devices);
bsDeviceInterface_freeInterfaceTable(registered);
return(0);
}