Compare commits
3 commits
648f2183c2
...
9ec01c39de
Author | SHA1 | Date | |
---|---|---|---|
9ec01c39de | |||
bcd61321e6 | |||
a015911e0e |
1
http.go
1
http.go
|
@ -80,6 +80,7 @@ func TelemRouter(log *slog.Logger, broker *Broker, db *TelemDb) http.Handler {
|
|||
r.Use(middleware.RealIP)
|
||||
r.Use(middleware.Logger) // TODO: integrate with slog instead of go default logger.
|
||||
r.Use(middleware.Recoverer)
|
||||
r.Use(middleware.SetHeader("Access-Control-Allow-Origin", "*"))
|
||||
|
||||
// heartbeat request.
|
||||
r.Get("/ping", func(w http.ResponseWriter, r *http.Request) {
|
||||
|
|
|
@ -18,37 +18,37 @@ import (
|
|||
|
||||
// SkylabFile is a yaml file from skylab.
|
||||
type SkylabFile struct {
|
||||
Packets []PacketDef `yaml:"packets"`
|
||||
Boards []BoardDef `yaml:"boards"`
|
||||
Packets []PacketDef `yaml:"packets,omitempty" json:"packets,omitempty"`
|
||||
Boards []BoardDef `yaml:"boards,omitempty" json:"boards,omitempty"`
|
||||
}
|
||||
|
||||
type BoardDef struct {
|
||||
Name string `yaml:"name"`
|
||||
Transmit []string `yaml:"transmit"`
|
||||
Receive []string `yaml:"receive"`
|
||||
Name string `yaml:"name,omitempty" json:"name,omitempty"`
|
||||
Transmit []string `yaml:"transmit,omitempty" json:"transmit,omitempty"`
|
||||
Receive []string `yaml:"receive,omitempty" json:"receive,omitempty"`
|
||||
}
|
||||
|
||||
// data field.
|
||||
type FieldDef struct {
|
||||
Name string `yaml:"name"`
|
||||
Type string `yaml:"type"`
|
||||
Units string `yaml:"units"`
|
||||
Conversion float32 `yaml:"conversion"`
|
||||
Name string `yaml:"name,omitempty" json:"name,omitempty"`
|
||||
Type string `yaml:"type,omitempty" json:"type,omitempty"`
|
||||
Units string `yaml:"units,omitempty" json:"units,omitempty"`
|
||||
Conversion float32 `yaml:"conversion,omitempty" json:"conversion,omitempty"`
|
||||
Bits []struct {
|
||||
Name string `yaml:"name"`
|
||||
} `yaml:"bits"`
|
||||
Name string `yaml:"name,omitempty" json:"name,omitempty"`
|
||||
} `yaml:"bits,omitempty" json:"bits,omitempty"`
|
||||
}
|
||||
|
||||
// a PacketDef is a full can packet.
|
||||
type PacketDef struct {
|
||||
Name string `yaml:"name"`
|
||||
Description string `yaml:"description"`
|
||||
Id uint32 `yaml:"id"`
|
||||
Endian string `yaml:"endian"`
|
||||
Extended bool `yaml:"is_extended"`
|
||||
Repeat int `yaml:"repeat"`
|
||||
Offset int `yaml:"offset"`
|
||||
Data []FieldDef `yaml:"data"`
|
||||
Name string `yaml:"name,omitempty" json:"name,omitempty"`
|
||||
Description string `yaml:"description,omitempty" json:"description,omitempty"`
|
||||
Id uint32 `yaml:"id,omitempty" json:"id,omitempty"`
|
||||
Endian string `yaml:"endian,omitempty" json:"endian,omitempty"`
|
||||
IsExtended bool `yaml:"is_extended,omitempty" json:"is_extended,omitempty"`
|
||||
Repeat int `yaml:"repeat,omitempty" json:"repeat,omitempty"`
|
||||
Offset int `yaml:"offset,omitempty" json:"offset,omitempty"`
|
||||
Data []FieldDef `yaml:"data,omitempty" json:"data,omitempty"`
|
||||
}
|
||||
|
||||
// we need to generate bitfield types.
|
||||
|
@ -278,13 +278,13 @@ func idToString(p PacketDef) string {
|
|||
if p.Repeat > 0 {
|
||||
resp := make([]string, p.Repeat)
|
||||
for idx := 0; idx < p.Repeat; idx++ {
|
||||
resp[idx] = fmt.Sprintf("can.CanID{ Id: 0x%X, Extended: %t }", int(p.Id)+idx*p.Offset, p.Extended)
|
||||
resp[idx] = fmt.Sprintf("can.CanID{ Id: 0x%X, Extended: %t }", int(p.Id)+idx*p.Offset, p.IsExtended)
|
||||
}
|
||||
|
||||
return strings.Join(resp, ",")
|
||||
|
||||
} else {
|
||||
return fmt.Sprintf("can.CanID{ Id: 0x%X, Extended: %t }", p.Id, p.Extended)
|
||||
return fmt.Sprintf("can.CanID{ Id: 0x%X, Extended: %t }", p.Id, p.IsExtended)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -46,7 +46,7 @@ type {{$structName}} struct {
|
|||
}
|
||||
|
||||
func (p *{{$structName}}) CanId() (can.CanID, error) {
|
||||
c := can.CanID{Extended: {{.Extended}}}
|
||||
c := can.CanID{Extended: {{.IsExtended}}}
|
||||
{{- if .Repeat }}
|
||||
if p.Idx >= {{.Repeat}} {
|
||||
return c, &UnknownIdError{ {{ printf "0x%X" .Id }} }
|
||||
|
@ -108,10 +108,10 @@ var idMap = map[can.CanID]bool{
|
|||
{{ range $p := .Packets -}}
|
||||
{{ if $p.Repeat }}
|
||||
{{ range $idx := Nx (int $p.Id) $p.Repeat $p.Offset -}}
|
||||
{ Id: {{ $idx | printf "0x%X"}}, Extended: {{$p.Extended}} }: true,
|
||||
{ Id: {{ $idx | printf "0x%X"}}, Extended: {{$p.IsExtended}} }: true,
|
||||
{{ end }}
|
||||
{{- else }}
|
||||
{ Id: {{ $p.Id | printf "0x%X" }}, Extended: {{$p.Extended}} }: true,
|
||||
{ Id: {{ $p.Id | printf "0x%X" }}, Extended: {{$p.IsExtended}} }: true,
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
}
|
||||
|
|
17
web/jsconfig.json
Normal file
17
web/jsconfig.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
// "baseUrl": "./src",
|
||||
"target": "es6",
|
||||
"checkJs": true,
|
||||
"allowJs": true,
|
||||
"moduleResolution": "nodenext",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"paths": {
|
||||
"openmct": ["./node_modules/openmct/dist/openmct.d.ts"]
|
||||
}
|
||||
},
|
||||
"exclude": [
|
||||
"./dist/**/*",
|
||||
"webpack.*.js"
|
||||
]
|
||||
}
|
3
web/package-lock.json
generated
3
web/package-lock.json
generated
|
@ -23,7 +23,8 @@
|
|||
"typescript": "^4.9.5",
|
||||
"webpack": "^5.75.0",
|
||||
"webpack-cli": "^5.0.1",
|
||||
"webpack-dev-server": "^4.11.1"
|
||||
"webpack-dev-server": "^4.11.1",
|
||||
"webpack-merge": "^5.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@aashutoshrathi/word-wrap": {
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"build": "webpack",
|
||||
"serve": "webpack serve"
|
||||
"build": "webpack --config webpack.prod.js",
|
||||
"serve": "webpack serve --config webpack.dev.js"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
|
@ -25,6 +25,7 @@
|
|||
"typescript": "^4.9.5",
|
||||
"webpack": "^5.75.0",
|
||||
"webpack-cli": "^5.0.1",
|
||||
"webpack-dev-server": "^4.11.1"
|
||||
"webpack-dev-server": "^4.11.1",
|
||||
"webpack-merge": "^5.10.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,13 @@ openmct.install(openmct.plugins.UTCTimeSystem());
|
|||
openmct.time.clock('local', {start: -5 * 60 * 1000, end: 0});
|
||||
openmct.time.timeSystem('utc');
|
||||
openmct.install(openmct.plugins.Espresso());
|
||||
openmct.install(PhoebusPlugin());
|
||||
|
||||
if (process.env.BASE_URL) {
|
||||
console.log("got a thing")
|
||||
console.log(process.env.BASE_URL)
|
||||
}
|
||||
function GotelemPlugin() {
|
||||
|
||||
}
|
||||
|
||||
openmct.start();
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./src",
|
||||
"target": "es6",
|
||||
"checkJs": true,
|
||||
"moduleResolution": "node",
|
||||
"paths": {
|
||||
"openmct": ["node_modules/openmct/dist/openmct.d.ts"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,7 +5,6 @@ const Dotenv = require('dotenv-webpack');
|
|||
|
||||
module.exports = {
|
||||
entry: './src/app.js',
|
||||
mode: "development",
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
|
@ -33,13 +32,6 @@ module.exports = {
|
|||
externals: {
|
||||
openmct: "openmct",
|
||||
},
|
||||
devServer: {
|
||||
static: [{
|
||||
// eslint-disable-next-line no-undef
|
||||
directory: path.join(__dirname, '/node_modules/openmct/dist'),
|
||||
publicPath: '/node_modules/openmct/dist'
|
||||
}]
|
||||
},
|
||||
output: {
|
||||
filename: 'main.js',
|
||||
path: path.resolve(__dirname, 'dist'),
|
22
web/webpack.dev.js
Normal file
22
web/webpack.dev.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
const { merge } = require('webpack-merge');
|
||||
const common = require('./webpack.common.js');
|
||||
const webpack = require('webpack');
|
||||
|
||||
module.exports = merge(common, {
|
||||
mode: "development",
|
||||
devtool: 'inline-source-map',
|
||||
plugins: [
|
||||
new webpack.EnvironmentPlugin({
|
||||
NODE_ENV: "development",
|
||||
BASE_URL: "http://localhost:8080"
|
||||
}),
|
||||
],
|
||||
devServer: {
|
||||
static: "./dist",
|
||||
headers: {
|
||||
"Access-Control-Allow-Origin": "*",
|
||||
'Access-Control-Allow-Headers': '*',
|
||||
'Access-Control-Allow-Methods': '*',
|
||||
},
|
||||
},
|
||||
})
|
13
web/webpack.prod.js
Normal file
13
web/webpack.prod.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
const { merge } = require('webpack-merge');
|
||||
const common = require('./webpack.common.js');
|
||||
|
||||
module.exports = merge(common, {
|
||||
mode: "production",
|
||||
plugins: [
|
||||
new webpack.EnvironmentPlugin({
|
||||
NODE_ENV: "production",
|
||||
BASE_URL: "",
|
||||
});
|
||||
],
|
||||
devtool: 'source-map',
|
||||
})
|
Loading…
Reference in a new issue