This commit is contained in:
2024-09-30 23:28:02 +07:00
parent e9e93e2162
commit d53369f529
14 changed files with 157 additions and 20 deletions

View File

@ -52,10 +52,10 @@ type FlexClient struct {
FlexSpotChan chan FlexSpot
Repo FlexDXClusterRepository
Log *log.Logger
TCPServer TCPServer
TCPServer *TCPServer
}
func NewFlexClient(repo FlexDXClusterRepository, TCPServer TCPServer, log *log.Logger) *FlexClient {
func NewFlexClient(repo FlexDXClusterRepository, TCPServer *TCPServer, log *log.Logger) *FlexClient {
return &FlexClient{
Address: Cfg.Flex.IP,
Port: "4992",
@ -73,7 +73,7 @@ func (fc *FlexClient) StartFlexClient() {
addr, err := net.ResolveTCPAddr("tcp", fc.Address+":"+fc.Port)
if err != nil {
fc.Log.Error("cannot resolve Telnet Client address:", err)
fc.Log.Error("cannot resolve Telnet Client address")
}
fc.LogWriter = bufio.NewWriter(os.Stdout)
@ -81,7 +81,7 @@ func (fc *FlexClient) StartFlexClient() {
fc.Timeout = 600 * time.Second
fc.Conn, err = net.DialTCP("tcp", nil, addr)
if err != nil {
fc.Log.Error("could not connect to flex radio, exiting...", err)
fc.Log.Errorf("could not connect to flex radio on %s, exiting...", Cfg.Flex.IP)
os.Exit(1)
}
fc.Log.Infof("connected to flex radio at %s:%s", fc.Address, fc.Port)
@ -97,7 +97,7 @@ func (fc *FlexClient) StartFlexClient() {
err = fc.Conn.SetKeepAlive(true)
if err != nil {
fc.Log.Error("error while setting keep alive:", err)
fc.Log.Error("error while setting keep alive")
}
go fc.ReadLine()
@ -184,7 +184,7 @@ func (fc *FlexClient) SendSpottoFlex(spot TelnetSpot) {
flexSpot.DX, flexSpot.Mode, flexSpot.Source, flexSpot.SpotterCallsign, flexSpot.TimeStamp, flexSpot.LifeTime, flexSpot.Comment, flexSpot.Color, flexSpot.BackgroundColor, flexSpot.Priority)
CommandNumber++
} else if srcFlexSpot.DX != "" && srcFlexSpot.Band == flexSpot.Band && srcFlexSpot.FrequencyMhz != flexSpot.FrequencyMhz {
} else if srcFlexSpot.DX != "" && srcFlexSpot.Band == flexSpot.Band {
fc.Repo.UpdateSpotSameBand(flexSpot)
stringSpot = fmt.Sprintf("C%v|spot set %v rx_freq=%v callsign=%s mode=%s source=%s spotter_callsign=%s timestamp=%v lifetime_seconds=%s comment=%s color=%s background_color=%s priority=%s", flexSpot.CommandNumber, srcFlexSpot.FlexSpotNumber, flexSpot.FrequencyMhz,
flexSpot.DX, flexSpot.Mode, flexSpot.Source, flexSpot.SpotterCallsign, flexSpot.TimeStamp, flexSpot.LifeTime, flexSpot.Comment, flexSpot.Color, flexSpot.BackgroundColor, flexSpot.Priority)