Skip to content
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

🔖 Release 3.2.1 #200

Merged
merged 59 commits into from
Jan 21, 2020
Merged

🔖 Release 3.2.1 #200

merged 59 commits into from
Jan 21, 2020

Conversation

HotelCalifornia
Copy link
Contributor

@HotelCalifornia HotelCalifornia commented Jan 21, 2020

Summary:

Motivation:

it's been long enough i think

References (optional):

see above

Test Plan:

tested in individual PRs

edjubuh and others added 30 commits January 30, 2019 14:18
…rnos

Summary:
  - Changed port number validation to return ENXIO when outside the domain of port numbers
  - Changed port validation to return ENODEV when the requested device doesn't match the actual device
  - Vision Sensor read/get functions consistently use EAGAIN when the libv5rts tells us it couldn't get data
  - Remove docstrings for EACCES since it is practically impossible to get that errno (we wait for mutex indefinitely)

Test Plan:
TBD
#### Summary:
Someone want to enable 🔥/❄ function but he doesn't want to include all libraries in the cold image. So he adds this feature here. you can edit `EXCLUDE_COLD_LIBRARIES` to exclude the library. The library will be compiled every time you use `make` command. (🔥🔥🔥)

#### Motivation:
Add it.

##### References (optional):
lazy to make an issue. 404 not found.

#### Test Plan:
- [x] Make a library for testing
- [x] Make a new project and apply the testing library
- [x] Compile with  🔥/❄ function (use `make all`)
- [x] Upload and test if the library is running?
- [x] Exclude the library
- [x] Compile with  🔥/❄ function (use `make all`)
- [x] Upload and test if the library is running?
- [x] Change something in the project
- [x] Compile with  🔥/❄ function  (use `make`)
- [x] Upload and test if the library is running?
- [x] delete variable `EXCLUDE_COLD_LIBRARIES`
- [x] Compile with  🔥/❄ function (use `make all`)
- [x] Upload and test if the library is running?
📝 Update Copyright info to current year
#### Summary:
Someone doesn't want to waste his time. So he adds this code to make compile-job faster. The compiler now doesn't need to remove and create `temp.log` every time it compiles a file. 

#### Motivation:
Add it.

##### References (optional):
close #103 

#### Test Plan:
- [x] Call `make all`
- [x] Call `make`
- [x] Try to compile with no error
- [x] Try to compile with warning
- [x] Try to compile with error

#### Commits:

* ✨ Improve Makefile compile speed

* Use only variables; use printf

* Keep changes from #119

* Do not treat strings as escaped
#### Summary:
Migrate kernel makefile to `test_output_2` and make make make again.

#### Motivation:
It's broken because `@cd` isn't a command. `@` was supposed to suppress echoing the whole command, but `test_output` has changed.

##### References (optional):
#123 

#### Test Plan:
- [X] It build
#### Summary:
Fix incorrect port type in some motor functions

#### Motivation:
They were different from everywhere else with seemingly no reason.

#### Test Plan:

- [x] Still compiles
…iver (#141)

* Add alternate serial API

* Fix generic serial files

* Add serial tests

* Fix dev_read_r and dev_write_r starving tasks

* Revert DEVCTL_SET_BAUDRATE to maintain compatibility

* Update generic serial test

* Modify blocking serial sleep time

* Move serial include

* Change serial telemetry function names
* Update vision_read_by_sig to properly transform all coordinates and
respect array boundaries

Summary:
- We weren't properly respecting array boundaries on read_by_sig, now we
are

Test Plan:
- [x] @kdcrafter tested in T659 and throughout Worlds

* Update vdml_vision.c
Summary
  - Changed port number validation to return ENXIO when outside the domain of port numbers
  - Changed port validation to return ENODEV when the requested device doesn't match the actual device
  - Vision Sensor read/get functions consistently use EAGAIN when the libv5rts tells us it couldn't get data
  - Remove docstrings for EACCES since it is practically impossible to get that errno (we wait for mutex indefinitely)
  - vision_get_by_sig consistently sets errno to EDOM when unable to find objects that match (valid) arguments

Right now, our returned errnos aren't that great.

Close #117

- [X] When objects are in vision sensors FOV, but none are of a particular signature, signature ID is correct and EDOM is errno

```cpp
errno = 0; // set to 0 to make sure errno is being set properly... normally wouldn't do this
// errno was 33 b/c there were no objects to see of signature 1
pros::lcd::print(1, "%d (%d)", vision.get_by_sig(0, 1).signature, errno);
errno = 0;
// errno was 0 b/c it worked fine
pros::lcd::print(2, "%d (%d)", vision.get_by_sig(0, 2).signature, errno);
errno = 0;
// errno was flickered between 0/33 b/c there were sometimes objects of 2 to see
pros::lcd::print(3, "%d (%d)", vision.get_by_sig(2, 2).signature, errno);
errno = 0;
// errno was EINVAL (22) because 8 is an invalid signature id
pros::lcd::print(4, "%d (%d)", vision.get_by_sig(8, 2).signature, errno);
errno = 0;
// errno was EADDRINUSE (112) b/c there was a radio plugged in
pros::lcd::print(5, "%d (%d)", pros::c::vision_get_by_sig(21, 0, 1).signature, errno);
errno = 0;
// errno was ENXIO (6) b/c there's no smart port #22
pros::lcd::print(6, "%d (%d)", pros::c::vision_get_by_sig(22, 0, 1).signature, errno);
// errno was ENODEV (19) b/c there's no motor plugged into 2 (or anything for that matter)
errno = 0;
pros::lcd::print(7, "%d (%d)", pros::c::motor_get_voltage(2), errno);
```
* add __sync_synchronize stub

* catch exception by reference to suppress new warning

* move mlock functions to their own file to fix newlib
* Rename main.c to startup.c

* Combine initialize, autonomous, and opcontrol into main

* Patch Makefile

* Patch template-Makefile

* Don't change USE_PACKAGE in this PR
* Fix IntelliSense error

* Note possible hack with registry pad

* Note possible issue with claim_port

* Cleanup ADI C API

* Remove config clear from ADI destructor

* Move ADI config to initilizer list

* Fix double normalization of ultrasonic port

* Partially Revert "Remove config clear from ADI destructor"

This partially reverts commit 6a562ef.

* Declare ADIPort destructor as default

* Revert "Note possible hack with registry pad"

This reverts commit 866067b.

* Change claim_port note
* [wip] rollback point

* finish upgrade\? doubt it

* update lv_conf

* make everything compile

- still need to test for some regressions
- still need to test some 5.3 features

* initialize LVGL before system daemon

* make non-monospaced font the default again

* limit LLEMU screen to 33 monospace chars

* clean versions

* add comment about system_daemon_initialize
* Alternate Task contructor: ommission of prio and stack_depth while still allowing access to name

* Delegation of truncated constructor to the normal constructor
theol0403 and others added 16 commits October 26, 2019 18:49
🚸 Implement exception logging to terminal
✨Add support for extra Make scripts
* Alternate Task contructor: ommission of prio and stack_depth while still allowing access to name

* Delegation of truncated constructor to the normal constructor

* Remove default params for second Task constructor
🚸 Allow tasks to be constructed from any void() callable
✨ Provide error if updates are sent too quickly to the controller or if it is not connected
NOTE: CI build fails only due to what I assume is a plumbing issue. Inspecting the logs reveals that everything compiles correctly.

* Added volatile loads and fixed an abondoned mutex

* Moved early out earlier

* Fix indent

* Fix understanding of memory model

* Fix indentation

* Fix side of memory barrier

* Fix warning
* Fix clearing

* Fix clearing a line

* Add static
* update to SDK 1.0.9

* [WIP] begin IMU implementation

* implement IMU

* update semantics of return types

* add QOL getters for p/y/r

* attempt to disambiguate names+docs

* [temp] fix c++ heading/degrees

* implement imu_get_rotation for real

* make cxx api match c one

* remove _vex functions/add cxx docs/lint

* also remove cxx _vex func impls

* Apply suggestions from code review

Co-Authored-By: nathan-moore <[email protected]>

* lint

Co-authored-by: nathan-moore <[email protected]>
* add usd is_installed method

* correct the return type
@HotelCalifornia HotelCalifornia added the release PR for a new release label Jan 21, 2020
@HotelCalifornia HotelCalifornia added this to the 3.2.1 milestone Jan 21, 2020
@HotelCalifornia
Copy link
Contributor Author

there are a lot of changes listed here that are already on master, not sure what that's about

Octogonapus
Octogonapus previously approved these changes Jan 21, 2020
@nathan-moore
Copy link
Member

The extra commits are likely because the last merge into master from develop was squashed, not merged. We should probably be merging these.

* Put in temporary stubs

* Make more things const

* Clang format
@HotelCalifornia HotelCalifornia merged commit 2bb7003 into master Jan 21, 2020
@WillXuCodes WillXuCodes deleted the release/3.2.1 branch August 9, 2021 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release PR for a new release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants