void cMotorController::InitDACOut() { #ifdef SENSORAY826 int fail = S826_DacRangeWrite(PCI_BOARD, channelNum, VOLTRANGE, 0); if (fail == 0) qDebug() << "DAC" << channelNum << "init'ed"; #endif }
static int NRCstart(uint board) { uint safemode = 0; int errcode; printf("Neuromorphic Robot Control\n"); redisContext *c = redisConnect("127.0.0.1", 6379); if (c == NULL || c->err) { if (c) { printf("Error: %s\n", c->errstr); // handle error } else { printf("Can't allocate redis context\n"); } } X826( S826_SafeWrenWrite(board, 0) ); X826( S826_SafeWrenWrite(board, 1) ); X826( S826_SafeWrenWrite(board, 2) ); X826( S826_DacRangeWrite(board, 0, S826_DAC_SPAN_5_5, safemode) ); // program dac output range: -10V to +10V X826( S826_DacRangeWrite(board, 1, S826_DAC_SPAN_5_5, safemode) ); X826( S826_DacRangeWrite(board, 2, S826_DAC_SPAN_5_5, safemode) ); while(1) { redisReply *y = redisCommand(c, "GET yaw"); X826( S826_DacDataWrite(board, 2, strtoul(y->str, 0, 0), safemode) ); redisReply *p = redisCommand(c, "GET pitch"); X826( S826_DacDataWrite(board, 0, strtoul(p->str, 0, 0), safemode) ); redisReply *s = redisCommand(c, "GET slider"); X826( S826_DacDataWrite(board, 1, strtoul(s->str, 0, 0), safemode) ); } return errcode; }