Commit Graph

2227 Commits

Author SHA1 Message Date
Don Cross
be735decb3 Shot in the dark... trying to fix wonky README. 2019-05-28 21:22:50 -04:00
Don Cross
4e3abd0d9c Fixed #40 - Generate markdown from doxygen for C source code.
Got makedoc.bat to generate compatible documentation with
Linux makedoc script. Started to document all the stuff
developers have to install to work on this project.
2019-05-28 21:00:29 -04:00
Don Cross
e063644970 hydrogen: work in progress. 2019-05-28 19:11:30 -04:00
Don Cross
5cda9bd68e Added lots more C documentation in doxygen-formatted comments. 2019-05-28 15:56:06 -04:00
Don Cross
5f9ebb2c8b Removed iteration counts from search results. Renamed SearchError function.
I don't want to mix performance information with results.
If I need performance information later, I can do it through
a side channel.  Renamed SearchErr to SearchError, to be consistent
with the other functions that generate error structs.
2019-05-28 08:08:30 -04:00
Don Cross
9128d42f1e Added a little more C documentation. 2019-05-28 07:55:25 -04:00
Don Cross
6429a8f8b5 Added more documentation for C code. 2019-05-27 20:46:08 -04:00
Don Cross
2a0bd80469 Got timeout in Travis CI retrying download. Decrease timeout to 9 seconds. 2019-05-27 20:03:32 -04:00
Don Cross
79587b76ea Fixed incorrect supported year range in documentation. 2019-05-27 19:49:45 -04:00
Don Cross
57fea25f3a hydrogen: Added prefix template. Added internal links to items. 2019-05-27 19:41:53 -04:00
Don Cross
b23a0316a8 To find structs, need to process other xml files. Merge all xml.
It turns out it simplifies things to merge all the doxygen xml
files into a single all.xml file, then process that. That way
I can find all the struct definitions too.
2019-05-27 19:01:25 -04:00
Don Cross
2dbb6a79a5 hydrogen: using class inheritance to simplify code. 2019-05-27 16:06:26 -04:00
Don Cross
aa82a86887 hydrogen: starting to process enumerated types. 2019-05-27 15:40:54 -04:00
Don Cross
22322d221f hydrogen: simplify and make fewer assumptions about data format. 2019-05-27 15:21:11 -04:00
Don Cross
01251b5fc7 hydrogen: starting to understand doxygen xml format better. 2019-05-27 15:16:57 -04:00
Don Cross
f5248201fe hydrogen: stubbed the functions that parse xml for defines, enums, typedefs, funcs. 2019-05-27 09:33:46 -04:00
Don Cross
f8001db8d0 More work on custom translation of doxygen xml to markdown. 2019-05-27 09:25:58 -04:00
Don Cross
63474a29d0 Work in progress: hydrogen 2019-05-26 21:22:23 -04:00
Don Cross
1ddff8f0d6 Work in progress: hydrogen = doxygen to markdown converter. 2019-05-26 21:16:25 -04:00
Don Cross
2dc6124f79 Explicitly specify astronomy.c and astronomy.h for doxygen.
I don't want doxygen processing any other files to generate
C documentation. I see that it can pull in .md files, which
could cause problems later.
2019-05-26 20:47:54 -04:00
Don Cross
4024b83638 Starting a custom doxygen xml to markdown converter for Astronomy Engine.
I looked at moxygen, but it is too C++ centric.
My documentation needs are very simple: I want functions and structs,
and very little else. I want the output to look nice on GitHub.
2019-05-26 20:42:55 -04:00
Don Cross
118a224921 Removing moxygen. I'm going to create my own custom doxygen-to-markdown. 2019-05-26 20:32:57 -04:00
Don Cross
d44eb1eed6 Removed apparently unnecessary moxygen option -l.
It looks like the '-l c' option does nothing when there is
an explicit template directory.
2019-05-26 17:52:53 -04:00
Don Cross
cbdef29197 Starting to experiment with moxygen custom templates.
I don't know if this is going to do what I want, but I'm
hoping I can customize the Markdown output generated by moxygen
to be useful for a simple C library like this. It appears to be
customized for a class-oriented C++ program.
2019-05-26 17:43:23 -04:00
Don Cross
83b1504552 Fixed C build error in doxygen refactoring. 2019-05-26 15:56:28 -04:00
Don Cross
5a19727dfe Hiding C code internals from Doxygen.
Certain macros and typedefs were ending up in Doxygen output
that have no reason to be documented for outside users.
Mostly I used Doxygen conditionals to hide them.
In a couple of cases I had some internal functions that needed
to be declared static so Doxygen hides them.

Added DoxygenLayout.xml, but not using it yet.
Still trying to figure out how to make Markdown output
that doesn't look terrible. Not sure I can get Moxygen
to do what I want. I may have to create my own simple(?) tool.
2019-05-26 15:49:37 -04:00
Don Cross
59dcc75625 Adding more C documentation. 2019-05-26 14:52:08 -04:00
Don Cross
be50605473 Added link to C documentation. 2019-05-26 12:26:17 -04:00
Don Cross
720f5b367f Ignore flag file to enable generating C documentation. 2019-05-26 12:22:33 -04:00
Don Cross
e8708fd634 Giving up on Travis CI generating C documentation.
The version of doxygen supported in Travis CI appears to be
too old to work with moxygen.  This is just not worth the hassle.
I will generate documentation locally, and I will document to
any prospective contributors how to do so also.
2019-05-26 12:19:12 -04:00
Don Cross
7591cd26ef Starting to add more C documentation. Still working on doxygen/moxygen. 2019-05-26 12:05:55 -04:00
Don Cross
f4c3a867da Starting to generate C documentation in Markdown format. 2019-05-26 11:36:38 -04:00
Don Cross
c5ee9b6830 Starting to get doxygen to work. 2019-05-26 10:09:09 -04:00
Don Cross
6a96c520dd Original generated Doxyfile. 2019-05-26 09:21:18 -04:00
Don Cross
baf38c9a0e No C API reference exists yet. 2019-05-25 21:56:06 -04:00
Don Cross
9ed995e462 Added C function Astronomy_CurrentTime(). Added C moon phase demo. 2019-05-25 21:18:24 -04:00
Don Cross
96b3b8a9f0 Added C functions UtcFromTime, TimeFromUtc.
These functions allow generating a Gregorian calendar date and time
in UTC from an astro_time_t, and vice versa.
This filled in a gap where we needed a way to transform an astronomy
time value into something a user would recognize.

I may have to revisit this later for compatibility with the <time.h>
standard library, etc.
2019-05-25 15:31:45 -04:00
Don Cross
576c1d8d56 Starting to add C to documentation. 2019-05-24 20:51:18 -04:00
Don Cross
1c67f64655 Added C lunar apsis test to Windows unit tests. 2019-05-24 19:38:11 -04:00
Don Cross
821e89e10b Validated C functions SearchLunarApsis, NextLunarApsis. 2019-05-24 19:29:31 -04:00
Don Cross
ba7814df4d Added protection from infinite loops in JS, C versions of SearchLunarApsis.
I made sure it is not possible to get stuck in an infinite
loop inside SearchLunarApsis, both the C and JavaScript versions.
If we loop over more time than 2 synodic months (more than enough time),
bail out with an exception (JS) or an internal error (C).
2019-05-24 17:21:04 -04:00
Don Cross
74dd133391 Implemented C function SearchLunarApsis, but not yet tested. 2019-05-24 16:58:03 -04:00
Don Cross
8cca72c959 Validated C function SearchPeakMagnitude. 2019-05-24 15:41:51 -04:00
Don Cross
8438086c3d Fixed Linux build warning in ctest.c about possibly uninitialized variables. 2019-05-24 12:37:12 -04:00
Don Cross
6d6e161b53 Implemented C test for Saturn magnitude. Fixed bug in Astronomy_Ecliptic.
Astronomy_Ecliptic was using midnight on 2000-01-01 as the epoch,
but it should have been using noon. Fixed it. Discovered because
there was a tiny but larger than expected error in calculating
the tilt of Saturn's rings.
2019-05-23 21:47:15 -04:00
Don Cross
3c5c47d704 Implemented C function SearchMaxMagnitude, but not yet tested. 2019-05-23 19:44:32 -04:00
Don Cross
ab74212146 Validated C function Illumination. 2019-05-23 18:15:00 -04:00
Don Cross
d9d4ad67d9 Added C general purpose parser for JPL Horizons date format.
I will use this for magnitude unit tests, but should be useful
for other unit tests also.
2019-05-23 13:13:21 -04:00
Don Cross
9ed27be0f8 Work in progress: Adding C magnitude tests. 2019-05-23 12:05:18 -04:00
Don Cross
84d428d583 Implemented C function Illumination, but not tested yet. 2019-05-23 11:42:19 -04:00