-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ready] move guidance decisions into profiles #2586
Conversation
c891a5e
to
a98f829
Compare
LOW_PRIORITY_ROAD // a road simply included for connectivity. Should be avoided at all cost | ||
}; | ||
// a class that behaves like a motorway (separated directions) | ||
bool motorway_class : 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bitfields and bool's are apparently not cross-platform compatible (read: non-gcc this will break). The easiest solution that I have seen is to use std::uint32_t
for all members that get packed into a 32bit block.
This is a very good idea. 👍 |
d396c62
to
30df5fe
Compare
30df5fe
to
da11fa0
Compare
One problem I see right now is the road priorities. I've provided enums to give an indication of how they are used right now and what kind of distinctions are made. In upcoming PRs (#2113), we will have to address further issues and potentially revisit the exposed values. |
|
||
## Guidance | ||
|
||
The guidance parameters in profiles are currently a work in progress. They can and will change without any major version change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not how semantic versioning works. If we break the API we need to do a version bump. Please remove this paragraph.
Looks good to me. But needs a changelog entry because the profiles now depend on a new file |
9850100
to
7372392
Compare
// the road priority is used as an indicator for forks. If the roads are of similar priority | ||
// (difference <=1), we can see the road as a fork. Else one of the road classes is seen as | ||
// obvious choice | ||
RoadPriorityClass::Enum road_priority_class : 5; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we bitpack this, it's a good idea to static assert on the size
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
6fc502b
to
48dc131
Compare
48dc131
to
b4dc10e
Compare
With the current rebase, some of the anticipate lane-tests are failing (even though they should be mostly unaffected). Holding off on fixing this until #2642 and similar by @daniel-j-h have landed. |
2998dfa
to
43b480f
Compare
2fedd39
to
837f4cd
Compare
837f4cd
to
0de22a2
Compare
Rebased on master, which results in broken cucumber tests. |
Never mind. This seems to have been some broken local caching. |
0de22a2
to
f501507
Compare
f501507
to
1fc63e1
Compare
With the list of advanced guidance features getting longer, the amount of decisions that has been hard-coded in advance grows.
While it is not possible right now to put all decisions into configuration files, at least some information can be listed.
This PR aims at moving as much as possible into the profiles to make guidance more configurable and adjustable for walking/biking/driving.
It is related to problems seen in: