Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - strangejmaster/FTCLib: Broad FTC library for all things software. · GitHub
Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - strangejmaster/FTCLib: Broad FTC library for all things software. · GitHub
Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - strangejmaster/FTCLib: Broad FTC library for all things software. · GitHub
Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - strangejmaster/FTCLib: Broad FTC library for all things software. · GitHub
Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - strangejmaster/FTCLib: Broad FTC library for all things software. · GitHub
Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - strangejmaster/FTCLib: Broad FTC library for all things software. · GitHub
Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - strangejmaster/FTCLib: Broad FTC library for all things software. · GitHub
Skip to content

Repository files navigation

FTCLib

Logo produced by Xing from FTC Team 15303

Android CI | dev

Origin: https://github.com/FTCLib/FTCLib

Project led by Jackson Isenberg and the Alpharetta Robotics Club


FTCLib is a library designed to be the only library you'll need for FTC programming. The project was initially meant to be a port of WPILib, which is the standard programming library for FRC that almost all teams use. However, with FTC, there are a ton of libraries that not many people have heard about, especially rookie teams who are just starting. The goal of FTCLib is to improve the initial programming experience for new members as well as greatly enhance the efficiency of code for veterans.

Please read the documentation and the rest of the README before you get started with the library.

FTCLib documentation - https://ftclib.gitbook.io/ftclib

Installation

  1. Open up your FTC SDK Project in Android Studio.

  2. Go to your build.common.gradle file in your project.

    BuildCommonGradle

  3. Add the following to the repositories section at the bottom of the file.

    mavenCentral()
  4. Open the build.gradle file in your TeamCode module.

    TeamCodeGradle

  5. Go to the bottom of the file, and add the following.

    dependencies {
    implementation 'org.ftclib.ftclib:core:2.1.1'// the following is optional if you want vision
    implementation 'org.ftclib.ftclib:vision:2.1.0'
    }
  6. Because FTCLib makes use of advanced features, you need to increase the minSdkVersion to 24. Unfortunately, this means that ZTE Speed Phones are not supported in this release.

In build.common.gradle, change the minSdkVersion from 23 to 24:

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
}
  1. Ensure your Java version is set to 8. This should already be the case with the latest SDK. If not, you will need to change your Java version. Scroll down in build.common.gradle until you find the compileOptions block.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

Change the 7 to an 8 like so:

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
  1. Perform a gradle sync to implement your changes.

    GradleSync

NOTE: If your module has a few dependencies, you might have an error related to multidex on building the project. This is caused by the project exceeding the limit for imports enforced by Android Studio. To solve this, add multiDexEnabled true to the below location inside the build.common.gradle file.

 defaultConfig {
applicationId 'com.qualcomm.ftcrobotcontroller'
minSdkVersion 24
targetSdkVersion 28
multiDexEnabled true
}

Welcome to FTCLib!

Thank you for using the FTCLib library for your code! All of the people who worked on it have put a lot of effort into making FTCLib an amazing library. We thank you for putting our effort to work with your own projects. We hope you have great luck and success with your programming.

The mission of FTCLib is briefly summarized in the following quote made by Jackson from ARC Robotics, who started the library.

Our goal is to make programming easier and more efficient through effective classes and detailed examples of implementation.

Why Use FTCLib?

FTCLib is a non-profit, open source, community-driven library created solely with the intent of helping rookie teams learn programming easier and maximizing efficiency for veteran teams. By putting everything into one library, with enough documentation to build a rigorous learning experience, all teams can benefit from using FTCLib. It's fast, easy, efficient, and powerful. The idea is that this truly is the last library you will ever need.

FTCLib still has the ability to be used along with other libraries without conflict. If you still want to use other libraries alongside ours, go ahead. FTCLib's purpose is solely to improve everyone's programming experience in FTC.

Contributing

Since this is a community-driven, open source library, we are constantly looking for more content. If you feel there is something missing from our library, feel free to contribute! If you want to contribute to the project, be sure to read the CONTRIBUTING.md.

Please make sure to contact us if you have any other questions.

About

Broad FTC library for all things software.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages