|
|
@@ -88,7 +88,7 @@ uint8_t cascade_init(const char* uart,uint8_t mode,uint8_t addr,uint8_t baud)
|
|
|
para.mode = MB_MODE_SLAVE;
|
|
|
slave_info.saddr = addr;
|
|
|
}
|
|
|
- slave_info.lock = lock_d_init();
|
|
|
+ slave_info.lock = lock_init();
|
|
|
slave_info.mb = mb_init(¶);
|
|
|
if(!slave_info.mb) {
|
|
|
return -1;
|
|
|
@@ -115,9 +115,9 @@ static uint8_t master_scan(cascade_handle_t *cas)
|
|
|
{
|
|
|
//scan
|
|
|
uint16_t value = 0;
|
|
|
- lock_s_hold(cas->lock);
|
|
|
+ lock_on(cas->lock);
|
|
|
int r = mb_read(cas->mb,slave_addr,CASCADE_REG_SCAN,&value,1,300);
|
|
|
- lock_s_release(cas->lock);
|
|
|
+ lock_off(cas->lock);
|
|
|
if(r > 0)
|
|
|
{
|
|
|
cas->slaves[slave_addr].addr = slave_addr;
|
|
|
@@ -148,8 +148,8 @@ void * cascade_scan_thread(void *arg)
|
|
|
static int slave_get_info(cascade_handle_t *cas)
|
|
|
{
|
|
|
slave_info_t *info=&cas->info;
|
|
|
- board_all_t *board = get_control_board();
|
|
|
- info->channels = board->chs;
|
|
|
+ power_data_t power = power_data_get();
|
|
|
+ info->channels = power.chs;
|
|
|
//info->channels=0;
|
|
|
//memcpy(info->ch,board->pbrd[],)
|
|
|
//copy mem to info
|
|
|
@@ -304,7 +304,7 @@ static int _mb_write(cascade_handle_t *cas, int addr, data_t *d)
|
|
|
if(d->dlen<=0) {
|
|
|
return -1;
|
|
|
}
|
|
|
- lock_d_hold(cas->lock);
|
|
|
+ lock_on(cas->lock);
|
|
|
while(1)
|
|
|
{
|
|
|
if(wlen+oncelen>d->dlen) {
|
|
|
@@ -328,7 +328,7 @@ static int _mb_write(cascade_handle_t *cas, int addr, data_t *d)
|
|
|
}
|
|
|
wlen += xlen;
|
|
|
}
|
|
|
- lock_d_release(cas->lock);
|
|
|
+ lock_off(cas->lock);
|
|
|
}
|
|
|
static int _mb_read(cascade_handle_t *cas, int addr, data_t *d)
|
|
|
{
|
|
|
@@ -338,7 +338,7 @@ static int _mb_read(cascade_handle_t *cas, int addr, data_t *d)
|
|
|
if(d->dlen<=0) {
|
|
|
return -1;
|
|
|
}
|
|
|
- lock_d_hold(cas->lock);
|
|
|
+ lock_on(cas->lock);
|
|
|
while(1) {
|
|
|
if(rlen+oncelen>d->dlen) {
|
|
|
xlen = d->dlen-rlen;
|
|
|
@@ -695,8 +695,9 @@ int mb_port_read_hold(u16 addr, u16 *preg)//读保持寄存器, 返回 : 0-成
|
|
|
|
|
|
int mb_port_write_hold(u16 addr, u16 reg)//写保持寄存器, 返回 : 0-成功, -2-地址错误, -3-值非法, -4-设备故障
|
|
|
{
|
|
|
- board_all_t *board = get_control_board();
|
|
|
- if(AC_DC_SET_DELAY_OPEN <= addr && addr <= AC_DC_ALL_SET_SWITCH_REG)
|
|
|
+ //board_all_t *board = get_control_board();
|
|
|
+ power_data_t power = power_data_get();
|
|
|
+ if(AC_DC_SET_DELAY_OPEN <= addr && addr <= AC_DC_ALL_SET_SWITCH_REG)
|
|
|
{
|
|
|
switch(addr)
|
|
|
{
|