You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.0 KiB
Go

package main
import (
"flag"
"fmt"
"log"
"os"
"path/filepath"
"strconv"
pc "github.com/kgolding/go-pocsagencode"
)
func main() {
var num bool
var debug bool
flag.BoolVar(&num, "num", false, "send as numeric message")
flag.BoolVar(&debug, "v", false, "verbose logging")
flag.Parse()
if len(flag.Args()) != 2 {
me := filepath.Base(os.Args[0])
fmt.Printf(`
Usage: %s [-num] <pager addr> <text or numeric message>
Examples: %s 13100100 'Hello world!'
%s -num 13100100 9876\n`, me, me, me)
os.Exit(1)
}
addr, err := strconv.Atoi(flag.Arg(0))
if err != nil {
fmt.Println("Invalid pager addr - must be a number")
os.Exit(2)
}
messages := []*pc.Message{
&pc.Message{
Addr: uint32(addr),
Content: flag.Arg(0),
IsNumeric: num,
},
}
if debug {
pc.SetLogger(log.New(os.Stdout, "", log.Lshortfile))
}
burst, _ := pc.Generate(messages)
fmt.Printf("Message: %s\n\n", burst.String())
fmt.Printf("Hex bytes: % X\n\n", burst.Bytes())
fmt.Printf("Binary: %s\n\n", burst.BinStr())
}