mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 16:18:42 +00:00
SrmDevice: moved status reporting to open method
so that it's not limited to downloads, only. Helps investigating erase issues.
This commit is contained in:
@@ -105,6 +105,9 @@ bool
|
||||
SrmDevice::open( QString &err )
|
||||
{
|
||||
srmio_error_t serr;
|
||||
unsigned firmware;
|
||||
srmio_io_baudrate_t baudrateId;
|
||||
unsigned baudrate;
|
||||
|
||||
if( dev->type() == "Serial" ){
|
||||
|
||||
@@ -153,11 +156,13 @@ SrmDevice::open( QString &err )
|
||||
|
||||
switch( protoVersion ){
|
||||
case 5:
|
||||
statusCallback( tr("opening PCV at %1").arg(dev->name()) );
|
||||
pc = srmio_pc5_new( &serr );
|
||||
break;
|
||||
|
||||
case 6:
|
||||
case 7:
|
||||
statusCallback( tr("opening PC6/7 at %1").arg(dev->name()) );
|
||||
pc = srmio_pc7_new( &serr );
|
||||
break;
|
||||
|
||||
@@ -191,6 +196,27 @@ SrmDevice::open( QString &err )
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if( ! srmio_pc_get_version( pc, &firmware, &serr ) ){
|
||||
err = tr("failed to get firmware version: %1")
|
||||
.arg(serr.message);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if( ! srmio_pc_get_baudrate( pc, &baudrateId, &serr ) ){
|
||||
err = tr("failed to get baud rate: %1")
|
||||
.arg(serr.message);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if( ! srmio_io_baud2name( baudrateId, &baudrate ) ){
|
||||
err = tr("failed to get baud rate name: %1")
|
||||
.arg(serr.message);
|
||||
}
|
||||
|
||||
statusCallback(tr("found Powercontrol version 0x%1 using %2 baud")
|
||||
.arg(firmware, 4, 16 )
|
||||
.arg(baudrate));
|
||||
|
||||
is_open = true;
|
||||
return true;
|
||||
|
||||
@@ -234,7 +260,6 @@ SrmDevice::preview( QString &err )
|
||||
struct _srmio_pc_xfer_block_t block;
|
||||
|
||||
if( ! is_open ){
|
||||
statusCallback( tr("opening device %1").arg(dev->name()) );
|
||||
if( ! open( err ) )
|
||||
return false;
|
||||
}
|
||||
@@ -288,9 +313,6 @@ SrmDevice::download( const QDir &tmpdir,
|
||||
QString &err)
|
||||
{
|
||||
srmio_error_t serr;
|
||||
unsigned firmware;
|
||||
srmio_io_baudrate_t baudrateId;
|
||||
unsigned baudrate;
|
||||
struct _srmio_pc_xfer_block_t block;
|
||||
srmio_data_t data( NULL );
|
||||
srmio_data_t *splitList( NULL );
|
||||
@@ -302,32 +324,10 @@ SrmDevice::download( const QDir &tmpdir,
|
||||
srmio_time_t splitGap( 72000 ); // 2h - XXX: make this configurable
|
||||
|
||||
if( ! is_open ){
|
||||
statusCallback( tr("opening device %1").arg(dev->name()) );
|
||||
if( ! open( err ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
if( ! srmio_pc_get_version( pc, &firmware, &serr ) ){
|
||||
err = tr("failed to get firmware version: %1")
|
||||
.arg(serr.message);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if( ! srmio_pc_get_baudrate( pc, &baudrateId, &serr ) ){
|
||||
err = tr("failed to get baud rate: %1")
|
||||
.arg(serr.message);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if( ! srmio_io_baud2name( baudrateId, &baudrate ) ){
|
||||
err = tr("failed to get baud rate name: %1")
|
||||
.arg(serr.message);
|
||||
}
|
||||
|
||||
statusCallback(tr("found Powercontrol version 0x%1 using %2 baud")
|
||||
.arg(firmware, 4, 16 )
|
||||
.arg(baudrate));
|
||||
|
||||
// fetch preview in case user didn't
|
||||
if( srmio_pc_can_preview(pc) && rideList.size() == 0 ){
|
||||
if( ! preview( err ) )
|
||||
@@ -592,6 +592,8 @@ SrmDevice::cleanup( QString &err )
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
statusCallback( tr("cleaning device ..."));
|
||||
|
||||
if( ! srmio_pc_cmd_clear( pc, &serr ) ){
|
||||
err = tr("failed to clear Powercontrol memory: %1")
|
||||
.arg(serr.message);
|
||||
|
||||
Reference in New Issue
Block a user