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

Mau dylanlamarca #1298

Closed
wants to merge 66 commits into from
Closed

Conversation

kauailabs
Copy link

This pull request replaces Dylan's previous pull requests. This pull request includes not only the contents of Dylan's previous pull request, but also change added by Scott to ensure proper operation of PWM for Motor Controllers as well as Servos, and updates to the Mau ChannelMap to support all 22 VMXPi channels.

KadenK and others added 30 commits June 13, 2018 13:34
Created a clone of the "sim" directory, without the MockData subfolder, and named it "mau"
Now the HAL Initializer method creates a new instance of VMXPi(), and then passes pointers to the vmxpi's controller objects (VMXIO, AHRS, VMXCAN, VMXTime, VMXThread, VMXVersion, and VMXPower) to WPI objects which use the controllers cooresponding functions
Replaced passing pointers to the vmx controllers to using global variables
Wrote the first iteration in making the WPI Accelerometer, AnalogAccumulator, AnalogGyro, AnalogInput, and CAN utilize VMX functions
Removed #includes to MockData files in Mau and commented out references to Sim/MockData functionality
Removed #includes to MockData files in Mau and commented out references to Sim/MockData functionality
Replaced the extern "C" that was deleted by mistake
Deleted the Data JNI files from the Mau subdirectory
Refactored the VMXPointers.h file to be called VMXHandler.h, as well as implementing the changes suggested/required
Moved the DriverStation directory from the base directory of allwpilib to the Mau subdirectory
Created two json files. One contains all of the indexes, types, and capabilities of the VMX channels and the other Maps each WPI Channel to a VMX Channel
Relocated the header file that handles VMX functions for the wpi to the new Translator sub-directory of Mau
Created a rough class called Mau_DriveData which should contain all of
the information necessary for DriverStation communication through
BagelCpp
Added the rapidJson library (https://github.com/Tencent/rapidjson) to
the translator subdirectory so it can be utilized to efficiently read
the Channel and Enum maps
Include VMXHandler in PWM so we can translate WPI operations to VMX
operations
Quick update so Caleb and I can work on DriveData/BagelCpp at the same
time
Finished the channel mapping mechanism, made (most of) the mau files
buildable, and implemented the channel mapper in PWM
Reorganized the DriverStation subdirectory, changed what DriveData
holds, and how DriveData is accessed
Made DriveData utilize BagelCpp fwi structs through a new header file
BagelDriveData.h and more
DylanLaMarca and others added 24 commits August 4, 2018 00:01
Commented out a number of small oversights which caused build errors in
non-vital parts of the HAL, including the entirety of Interrupts because
it's a saucy little minxy
Added a number of functions to Mau_DriveData and the BagelDriveData
utility to update individual ControlWord booleans and
JoystickDescriptors
DriverStation now initializes all of the comms. When created it creates
the shared instance of DriveData and HAL_WaitForDSData waits for the
shared Data's signal, and HAL_InitializeDriverStation starts the
BagelCpp's ds_comms threads
****The include files are not all present, the CMakeLists.txt file is correct, but the build environment is not. Until that is updated, FRC applications will not run successfully.
Deleted the Toast shared memory stuff and integrated the structure of
ds_comms into DriverStation
Fixed the naming error in Interrupts init and un-commented Interrupts
Changed the const filepaths that the FileHandler uses to locate the
json-map files to /maps, which is where cmake will store them with the
library
Added declaration of mau::sharedMemory and added undeclared variables
Uncommented all of Extensions.cpp
Relocated testing isDS attached to tcp Thread, Changed Mau_DriveData to
return no pointers, but have yet to build and completely test
Changed tests of time recieved from the VMXTime to expect and test in
microseconds instead of milliseconds, as well as decreasing the expected
sample rate
  NOTE:  This requires the latest VMXPI-HAL (v. 1.1.148), which contains a new PWM-related API function.
- Updated ChannelMap.json and PortsInternal to properly reflect all 22 VMXPi PWM Channels.
- Update PWM.cpp to correctly select correct VMXPI PWM Port Index during initialization.
- Update PWM.cpp to support "WPI Squelched" outputs, needed for Servo support.
- Update HAL.cpp to use modified VMXPi class constructor call (w/realtime flag = true)
- Update DigitalInternal.h to support wider range (finer resolution) of PWM Steps
- Update Robot.cpp test program to simultaneously test 3 motor controllers and 1 servo.
@kauailabs
Copy link
Author

Pull Request Deleted; this was mistakenly added as pull request to wpilibsuite allwpilib; it is intended for the Kauai Labs allwpilib fork instead.

@kauailabs kauailabs closed this Sep 1, 2018
@ThadHouse
Copy link
Member

This is meant to be in your repo, not here, right @kauailabs ?

@kauailabs
Copy link
Author

kauailabs commented Sep 2, 2018 via email

@kauailabs kauailabs deleted the Mau.DylanLaMarca branch September 2, 2018 17:38
pjbuterbaugh pushed a commit to pjbuterbaugh/allwpilib that referenced this pull request Jun 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants