|  | 310 | bool Start(void) | 
          
            |  | 311 | { | 
          
            |  | 312 | _errStr = ""; | 
          
            |  | 313 | bool result = false; | 
          
            |  | 314 |  | 
          
            |  | 315 | Stop(); | 
          
            |  | 316 | if (_port != 0) | 
          
            |  | 317 | { | 
          
            |  | 318 | //  If COM3 tell mainboard to automatically send output | 
          
            |  | 319 | if(_port > 2) | 
          
            |  | 320 | { | 
          
            |  | 321 | int minor_ver = 0; | 
          
            |  | 322 | int ver = GetMnBdVer(&minor_ver); | 
          
            |  | 323 | if(ver >= 120 && minor_ver >= 6) | 
          
            |  | 324 | { | 
          
            |  | 325 | if(SetMnBdRepeatFormat()) | 
          
            |  | 326 | { | 
          
            |  | 327 | if(_scale == 0) | 
          
            |  | 328 | { | 
          
            |  | 329 | SetMnBdSerialDefaultScale(0x7F); | 
          
            |  | 330 | } | 
          
            |  | 331 |  | 
          
            |  | 332 | g_serial_rep.fmt = 1; | 
          
            |  | 333 | g_serial_rep.intv = _interval; | 
          
            |  | 334 | if (MnBdRequest(MNBD_DEV + _port - 3, MNBD_REQ_REP_SEND_SERIAL_FMT, WAIT_ACK) != OK) | 
          
            |  | 335 | { | 
          
            |  | 336 | _errStr = "Error starting scoreboard repeat\r\n"; | 
          
            |  | 337 | } | 
          
            |  | 338 | else | 
          
            |  | 339 | { | 
          
            |  | 340 | _mnbdRepeating = true; | 
          
            |  | 341 | result = true; | 
          
            |  | 342 | } | 
          
            |  | 343 | } | 
          
            |  | 344 | } | 
          
            |  | 345 | else if (ver == 0) | 
          
            |  | 346 | { | 
          
            |  | 347 | _errStr = "Call MnBdStartup before SB start"; | 
          
            |  | 348 | } | 
          
            |  | 349 | else | 
          
            |  | 350 | { | 
          
            |  | 351 | _errStr = "Update MnBd for SB repeating"; | 
          
            |  | 352 | } | 
          
            |  | 353 | } | 
          
            |  | 354 | else | 
          
            |  | 355 | { | 
          
            |  | 356 | _file.Open(pszCommPortDev[_port], "w"); | 
          
            |  | 357 | _timer.Start(_interval, true); | 
          
            |  | 358 | result = true; | 
          
            |  | 359 | } | 
          
            |  | 360 | } | 
          
            |  | 361 | return result; | 
          
            |  | 362 | } |