You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.0 KiB
61 lines
2.0 KiB
#!/usr/bin/env python |
|
|
|
from __future__ import print_function |
|
|
|
import emitter |
|
|
|
class HTMLEmitter(emitter.Emitter): |
|
def preface(self): |
|
return """<!-- Dynamically generated list of Logger Messages |
|
This page was generated using Tools/autotest/logger_metdata/parse.py |
|
|
|
DO NOT EDIT |
|
--> |
|
|
|
|
|
<h3 style="text-align: center">Onboard Message Log Messages</h3> |
|
<hr /> |
|
|
|
<p>This is a list of log messages which may be present in logs produced and stored onboard ArduPilot vehicles.</p> |
|
|
|
<!-- add auto-generated table of contents with "Table of Contents Plus" plugin --> |
|
[toc exclude="Onboard Message Log Messages"] |
|
|
|
""" |
|
def postface(self): |
|
return "" |
|
|
|
def start(self): |
|
self.fh = open("LogMessages.html", mode='w') |
|
print(self.preface(), file=self.fh) |
|
|
|
def emit(self, doccos): |
|
self.start() |
|
for docco in doccos: |
|
print(' <h1>%s</h1>' % docco.name, file=self.fh) |
|
if docco.url is not None: |
|
print(' <a href="%s">More information</a>' % docco.url, file=self.fh) |
|
if docco.description is not None: |
|
print(' <h2>%s</h2>' % |
|
docco.description, file=self.fh) |
|
print(' <table>', file=self.fh) |
|
print(" <tr><th>FieldName</th><th>Description</th><tr>", |
|
file=self.fh) |
|
for f in docco.fields_order: |
|
if "description" in docco.fields[f]: |
|
fdesc = docco.fields[f]["description"] |
|
else: |
|
fdesc = "" |
|
print(' <tr><td>%s</td><td>%s</td></tr>' % (f, fdesc), |
|
file=self.fh) |
|
# if "bits" in docco.fields[f]: |
|
# print(' <bits>%s</bits>' % |
|
# docco.fields[f]["bits"], file=self.fh) |
|
print(' </table>', file=self.fh) |
|
|
|
print("", file=self.fh) |
|
self.stop() |
|
|
|
def stop(self): |
|
print(self.postface(), file=self.fh) |
|
self.fh.close()
|
|
|