generate board_ids.h
This commit is contained in:
parent
939362431c
commit
3612bff930
|
@ -11,3 +11,6 @@
|
|||
[submodule "bin/pcb-tools"]
|
||||
path = bin/pcb-tools
|
||||
url = https://github.com/curtacircuitos/pcb-tools.git
|
||||
[submodule "board_id/libfirmware"]
|
||||
path = board_id/libfirmware
|
||||
url = https://github.com/rusefi/libfirmware/
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env python
|
||||
############################################################################################
|
||||
# Hellen-One: Generates a header file containing the list of Board-IDs.
|
||||
# The result is stored in 'libfirmware/board_id/boards_id.h' folder.
|
||||
# (c) andreika <prometheus.pcb@gmail.com>
|
||||
############################################################################################
|
||||
|
||||
import csv, sys, os, re, datetime
|
||||
|
||||
board_ids_csv = "board_ids.csv"
|
||||
libdir = "libfirmware/board_id"
|
||||
board_ids_h = libdir + "/boards_id.h"
|
||||
|
||||
date_time = datetime.datetime.now()
|
||||
|
||||
def getBoardName(str):
|
||||
str = str.replace("-", "_")
|
||||
return str.upper()
|
||||
|
||||
def readCsv(fileName):
|
||||
rows = list()
|
||||
with open(fileName, 'rt') as f:
|
||||
reader = csv.reader(f, delimiter=',')
|
||||
for row in reader:
|
||||
# skip empty lines and comments (this is not strictly CSV-compliant, but useful for our purposes)
|
||||
if (len(row) < 1 or row[0].startswith("#")):
|
||||
continue
|
||||
rows.append(row)
|
||||
return rows
|
||||
|
||||
def saveH(fileName, rows):
|
||||
with open (fileName, 'wt') as new_f:
|
||||
new_f.write("//\n// was generated automatically by Hellen Board-ID generation tool gen_board_ids_h.py " + str(date_time) + "\n//\n\n#pragma once\n\n")
|
||||
for row in rows:
|
||||
new_f.write("#define BOARD_ID_" + getBoardName(row[3]) + "\t\t\t" + row[0] + "\n")
|
||||
|
||||
if not os.path.isdir(libdir):
|
||||
print ("Error! Cannot find the destination folder " + libdir + "! Please make sure that 'libfirmware' submodule was initialized by calling 'git submodule update'")
|
||||
sys.exit(1)
|
||||
|
||||
print ("Reading board ID list from " + board_ids_csv + "...")
|
||||
boardIdList = readCsv(board_ids_csv)
|
||||
|
||||
print ("Saving the header file to " + board_ids_h + "...")
|
||||
saveH(board_ids_h, boardIdList)
|
||||
|
||||
print ("Done!")
|
|
@ -0,0 +1 @@
|
|||
Subproject commit cd215a965cca31aff98a18a786d5ad626e853b15
|
Loading…
Reference in New Issue