Commit Graph

1235 Commits

Author SHA1 Message Date
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
01251b5fc7 hydrogen: starting to understand doxygen xml format better. 2019-05-27 15:16:57 -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
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
118a224921 Removing moxygen. I'm going to create my own custom doxygen-to-markdown. 2019-05-26 20:32:57 -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
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
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
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
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
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
Don Cross
4982da4307 Added unit tests for C functions SearchRiseSet, SearchHourAngle. 2019-05-22 13:44:46 -04:00
Don Cross
83d909751e Implemented C function SearchRiseSet, but not yet implemented. 2019-05-21 21:09:59 -04:00
Don Cross
9dfc3dee69 Implemented C function SearchHourAngle, but not yet tested. 2019-05-21 20:17:59 -04:00
Don Cross
dbd8c60e15 Added more unit tests for C function SearchRelativeLongitude. 2019-05-21 17:16:44 -04:00
Don Cross
86dad96ef0 Validated C functions: EclipticLongitude, SearchMaxElongation, SearchRelativeLongitude, Elongation, AngleFromSun.
Also realized I was only verifying JS max elongation angles to be within 1 degree.
Tightened that to 4 arcmin.
2019-05-21 16:22:51 -04:00
Don Cross
09fc1a5d4d Updated comments. 2019-05-21 15:21:18 -04:00
Don Cross
daf2dddcce Validated C function SearchRelativeLongitude. 2019-05-21 15:20:18 -04:00
Don Cross
3557d3b8af Implemented C functions EclipticLongitude, SearchMaxElongation, SearchRelativeLongitude.
Work in progress. Not yet tested.
2019-05-21 14:21:44 -04:00
Don Cross
76527b5453 Implemented C function Elongation, but not yet tested. 2019-05-21 12:37:20 -04:00
Don Cross
27058b85ee Added time error verification for C unit tests of SearchMoonQuarter, NextMoonQuarter. 2019-05-21 12:17:34 -04:00
Don Cross
665be9c516 Fixed bug calculating moon phases in new C code. 2019-05-21 12:00:55 -04:00
Don Cross
80e4fb8b00 Work in progress: C functions SearchMoonQuarter, NextMoonQuarter. 2019-05-21 11:42:55 -04:00
Don Cross
020e12d8ce C function SearchMoonPhase in progress. Refactored Search so functions can return errors. 2019-05-21 11:22:51 -04:00
Don Cross
4513036af0 Added C function MoonPhase, but not tested yet. 2019-05-21 08:36:58 -04:00
Don Cross
4ac847676a Implemented C function LongitudeFromSun, but not tested yet. 2019-05-20 17:07:08 -04:00
Don Cross
10aa2d7317 Implemented C function Ecliptic, but not tested yet. 2019-05-20 16:51:53 -04:00
Don Cross
aacc680b0e Implemented C function AngleFromSun, but not tested yet. 2019-05-20 16:41:54 -04:00
Don Cross
9e9b9420f3 Implemented unit test for C function Seasons.
This also validates the Search function and Sun longitude calculation.
2019-05-20 16:00:21 -04:00
Don Cross
87e65b43d7 Implemented C function Seasons, but not yet tested. 2019-05-20 15:23:15 -04:00
Don Cross
468319b71d Implemented C function SearchSunLongitude, but not tested yet. 2019-05-20 15:08:17 -04:00
Don Cross
999583a989 Implemented C function Search. Not yet tested. 2019-05-20 14:53:51 -04:00
Don Cross
528dad54cf Implemented C function SunPosition. Not yet tested. 2019-05-20 14:02:29 -04:00
Don Cross
7d4047429a Fixed #38 - Run C unit tests on Windows. 2019-05-19 21:29:31 -04:00
Don Cross
2e9f2918bd JS: Replaced SkyPos with Equator function.
This is a refactoring to follow suit with what I did in the C
version of the code. It improves accuracy by using different
geocentric vector calculations for j2000 and ofdate equatorial
coordinates. Allow optional aberration corrections.
2019-05-19 18:12:01 -04:00