func CallbackKill(af *at.AtFrame) bool { ad.Println("callback kill") js.SetJEUStateEnding(af.GetId()) return true }
// STOP 수신 이벤트 func CallbackStop(af *at.AtFrame) bool { ad.Println("callback stop") js.SetJEUStateStopping(af.GetId()) wg := sync.WaitGroup{} wg.Add(2) go func() { stopRX <- true; wg.Done() }() go func() { stopTX <- true; wg.Done() }() wg.Wait() js.SetJEUStateReady(af.GetId()) return false }
// STOP 수신 이벤트 func CallbackStop(af *at.AtFrame) bool { ad.Println("callback stop") js.SetJEUStateStopping(af.GetId()) ThreadCheckMsgReqEnd = true for { time.Sleep(time.Millisecond) if !ThreadCheckMsgRun { break } } js.SetJEUStateReady(af.GetId()) return false }
// START 수신 이벤트 func CallbackStart(af *at.AtFrame) bool { ad.Println("callback start") js.SetJEUStateStarting(af.GetId()) wg := sync.WaitGroup{} wg.Add(2) go ThreadWebConnRS232Rx(&wg) go ThreadWebConnRS232Tx(&wg) ad.Println("----------------++ before wait") wg.Wait() ad.Println("----------------++ after wait") js.SetJEUStateRun(af.GetId()) return false }
// START 수신 이벤트 func CallbackStart(af *at.AtFrame) bool { ad.Println("callback start") js.SetJEUStateStarting(af.GetId()) ThreadCheckMsgRun = false go ThreadCheckMsg() time.Sleep(time.Millisecond) for { time.Sleep(time.Millisecond) if ThreadCheckMsgRun { break } } js.SetJEUStateRun(af.GetId()) return false }