Unnamed Fossil Project

Check-in [02dee0fc2e]
Login

Check-in [02dee0fc2e]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:adapt logrus in calc; nonlegal NMEA filtered
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 02dee0fc2e69699ce9303da19eb99bc5a65d8e18
User & Date: LuoChunlei 2024-11-15 01:55:57.938
Context
2024-11-15
07:06
log, pic, table head check-in: 03c882e1c2 user: LuoChunlei tags: trunk
01:55
adapt logrus in calc; nonlegal NMEA filtered check-in: 02dee0fc2e user: LuoChunlei tags: trunk
2024-11-14
09:15
runWIP check-in: a958cd6bf2 user: LuoChunlei tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to calc/bd420010b2.go.
69
70
71
72
73
74
75


76
77
78
79
80
81
82
83
	}
	defer f.Close()
	sc := bufio.NewScanner(f)
	var lineno int
	for sc.Scan() {
		line := sc.Text()
		// fmt.Println("line number:", lineno, line)


		if line == "" {
			continue
		}
		s, err := nmea.Parse(line)
		if err != nil {
			log.Println(err)
		}
		if s.DataType() == nmea.TypeGGA {







>
>
|







69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
	}
	defer f.Close()
	sc := bufio.NewScanner(f)
	var lineno int
	for sc.Scan() {
		line := sc.Text()
		// fmt.Println("line number:", lineno, line)
		line = strings.TrimSpace(line)
		startIndex := strings.IndexAny(line, "$!")
		if line == "" || startIndex != 0 {
			continue
		}
		s, err := nmea.Parse(line)
		if err != nil {
			log.Println(err)
		}
		if s.DataType() == nmea.TypeGGA {
267
268
269
270
271
272
273
274

275
276
277
278
279
280
281
	}
	return pts
}
func (b2 *BD420010B2) Table() string {
	tableString := &strings.Builder{}
	table := tablewriter.NewWriter(tableString)
	//table := tablewriter.NewWriter(os.Stdout)
	table.SetHeader([]string{"统计策略", "水平", "垂直", "三维", "东向", "北向"})

	table.SetBorder(false) // Set Border to false
	table.Append([]string{
		"Max",
		strconv.FormatFloat(b2.Max.H, 'f', 3, 64),
		strconv.FormatFloat(b2.Max.U, 'f', 3, 64),
		strconv.FormatFloat(b2.Max.V, 'f', 3, 64),
		strconv.FormatFloat(b2.Max.E, 'f', 3, 64),







|
>







269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
	}
	return pts
}
func (b2 *BD420010B2) Table() string {
	tableString := &strings.Builder{}
	table := tablewriter.NewWriter(tableString)
	//table := tablewriter.NewWriter(os.Stdout)
	//table.SetHeader([]string{"统计策略", "水平", "垂直", "三维", "东向", "北向"})
	table.SetHeader([]string{"Stat", "Horizontal", "Vertical", "3D", "Earth", "North"})
	table.SetBorder(false) // Set Border to false
	table.Append([]string{
		"Max",
		strconv.FormatFloat(b2.Max.H, 'f', 3, 64),
		strconv.FormatFloat(b2.Max.U, 'f', 3, 64),
		strconv.FormatFloat(b2.Max.V, 'f', 3, 64),
		strconv.FormatFloat(b2.Max.E, 'f', 3, 64),
Changes to tutorials/moni.go.
72
73
74
75
76
77
78

79
80
81
82
83
84
85

var speed *contextMenuButton
var port *contextMenuButton
var btnMoni *widget.Button

func moni(win fyne.Window) fyne.CanvasObject {
	space := widget.NewEntryWithData(binding.IntToString(prj.DiSpace.(binding.Int)))

	//space.SetPlaceHolder("样本空间,监控的时间(秒)")
	//space.Resize(fyne.NewSize(8, 1))
	speed = newContextMenuButton("串口速率: ", getSpeedMenu())
	port = newContextMenuButton("串口端口: ", nil)
	port.get = getPortMenu
	//port = widget.NewButton("串口端口: com1", func() {})
	btnMoni = widget.NewButton("监控/停止", monitor)







>







72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

var speed *contextMenuButton
var port *contextMenuButton
var btnMoni *widget.Button

func moni(win fyne.Window) fyne.CanvasObject {
	space := widget.NewEntryWithData(binding.IntToString(prj.DiSpace.(binding.Int)))
	space.Wrapping = fyne.TextWrapOff
	//space.SetPlaceHolder("样本空间,监控的时间(秒)")
	//space.Resize(fyne.NewSize(8, 1))
	speed = newContextMenuButton("串口速率: ", getSpeedMenu())
	port = newContextMenuButton("串口端口: ", nil)
	port.get = getPortMenu
	//port = widget.NewButton("串口端口: com1", func() {})
	btnMoni = widget.NewButton("监控/停止", monitor)
Changes to tutorials/run.go.
1
2
3

4
5
6
7
8
9

10
11
12
13
14

15
16

17



18
19
20
21
22
23
24
25
26
27
28
29
30
package tutorials

import (

	"fmt"
	"log"
	"luocl/gnss/calc"
	"luocl/gnss/prj"
	"os"
	"strconv"


	"fyne.io/fyne/v2"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/theme"
	"fyne.io/fyne/v2/widget"

)


var LogME *widget.Entry = widget.NewMultiLineEntry()




func run(_ fyne.Window) fyne.CanvasObject {
	top := widget.NewToolbar()
	top.Append(widget.NewToolbarAction(theme.MediaPlayIcon(), Calc))
	top.Append(widget.NewToolbarAction(theme.DocumentIcon(), func() {}))
	LogME.TextStyle.Monospace = true
	return container.NewBorder(top, nil, nil, nil, LogME)
}
func Calc() {
	LogME.Append(fmt.Sprintf("the executable name: %v\n", os.Args[0]))
	pwd, _ := os.Getwd()
	LogME.Append(fmt.Sprintf("cuttrent working directory: %v\n", pwd))
	if prj.Curcfg == nil {



>

<




>





>


>
|
>
>
>





<







1
2
3
4
5

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

29
30
31
32
33
34
35
package tutorials

import (
	"bytes"
	"fmt"

	"luocl/gnss/calc"
	"luocl/gnss/prj"
	"os"
	"strconv"
	"strings"

	"fyne.io/fyne/v2"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/theme"
	"fyne.io/fyne/v2/widget"
	log "github.com/sirupsen/logrus"
)

var LogME *LogMEntry = newLogMEntry()

func init() {
	log.SetOutput(LogME)
}

func run(_ fyne.Window) fyne.CanvasObject {
	top := widget.NewToolbar()
	top.Append(widget.NewToolbarAction(theme.MediaPlayIcon(), Calc))
	top.Append(widget.NewToolbarAction(theme.DocumentIcon(), func() {}))

	return container.NewBorder(top, nil, nil, nil, LogME)
}
func Calc() {
	LogME.Append(fmt.Sprintf("the executable name: %v\n", os.Args[0]))
	pwd, _ := os.Getwd()
	LogME.Append(fmt.Sprintf("cuttrent working directory: %v\n", pwd))
	if prj.Curcfg == nil {
67
68
69
70
71
72
73




























	res := b2.Table()
	LogME.Append(res)
	//log.Println(res)
	// fmt.Fprintln(r.wRes, res)
	// b2.Img(prj.GetImg())
	// r.Img.OpenPrj()
}



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
	res := b2.Table()
	LogME.Append(res)
	//log.Println(res)
	// fmt.Fprintln(r.wRes, res)
	// b2.Img(prj.GetImg())
	// r.Img.OpenPrj()
}

type LogMEntry struct {
	Inverse bool
	widget.Entry
}

func (e *LogMEntry) Write(p []byte) (n int, err error) {
	n = len(p)
	buf := bytes.NewBuffer(p)
	str := buf.String()
	str = strings.ReplaceAll(str, "\\n", "\n")
	str = strings.ReplaceAll(str, "\\t", "\t")
	if e.Inverse {
		e.Entry.Text = str + e.Entry.Text
		//e.Scroll = wdgt.ScrollNone
	} else {
		e.Entry.Text = e.Entry.Text + str
	}
	e.Entry.Refresh()
	return n, nil
}

func newLogMEntry() *LogMEntry {
	me := &LogMEntry{}
	me.Entry.TextStyle.Monospace = true
	me.ExtendBaseWidget(me)
	return me
}