Difference between revisions of "New skills"
m (→^ Altera and FPGASoftware site at Intel) |
m (→^ Python tutorials) |
||
Line 80: | Line 80: | ||
* https://docs.python.org/3/library/curses.html | * https://docs.python.org/3/library/curses.html | ||
+ | <!-- comment --> | ||
+ | |||
+ | ==== [[#top|^]] Features and elements of Python ==== | ||
+ | * https://www.w3schools.com/python/python_tuples.asp | ||
<!-- comment --> | <!-- comment --> | ||
Revision as of 06:49, 14 March 2021
Notes page for New Skills and Existing Skills
Contents
^ Languages and Software Development Tools
Languages and software development tools too investigate . . .
^ Python scripting language
Note, python scripts and configuration are now part of recent Ubuntu and possibly other Debian based Linux distributions. For this reason there is risk of breaking a host system's OS installation on such Linux hosts, if using python's pip
installer util to install python packages in their default global mode. Please see 'setting up python virtual environment' a couple paragraphs further on this page.
Available with an interactive Python session:
:~$ python3 Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> credits Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information. >>> help Type help() for interactive help, or help(object) for help about object. >>> help() Welcome to Python 3.8's help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at https://docs.python.org/3.8/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, symbols, or topics, type "modules", "keywords", "symbols", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose name or summary contain a given string such as "spam", type "modules spam". help> help modules No Python documentation found for 'help modules'. Use help() to get the interactive help utility. Use help(str) for help on the str class. help> modules Please wait a moment while I gather a list of all available modules...
Python3 "hello world" example . . .
- https://www.digitalocean.com/community/tutorials/how-to-write-your-first-python-3-program
- https://www.digitalocean.com/community/users/ltagliaferri
^ python virtual environment set-up, python3-venv
May be a good idea to create a python virtual environment on Ubuntu and similar Linux distro hosts, to avoid possibly breaking some globally installed python modules and or configurations. An article at Linuxize talks about how to do this . . .
An example use to run canopen-monitor
on a Linux host:
127 source oresat-canopen-monitor/bin/activate 128 ls 129 ls canopen_monitor/ 130 vi README.md 131 canopen-monitor -i can0 132 deactivate
^ Python tutorials
Python and ncurses . . .
^ Features and elements of Python
^ Cmake
C++ Programming Lanuage and Topics
- https://www.geeksforgeeks.org/the-c-standard-template-library-stl/ C++ STL classes
- http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1319r0.html C++11 versus C++14
- https://en.wikipedia.org/wiki/Reference_(C%2B%2B) References C++ versus Pointers C
2021-02-09 Tuesday - Direct Rendering Manager DRM and related:
Open source examples of Direct Rendering Manager:
QtConcurrent . . .
- https://doc.qt.io/Qt-5/qtconcurrent-index.html Code written with QtConcurrent automatically adjusts number of threads instantiated based on number of available processor cores detected at run time . . .
- https://doc.qt.io/qt-5/containers.html Qt container classes, replacements for C++ STL (Standard Templates Library)
^ Containers
^ Docker
STUB SECTION
^ Kubernetes
Containers, Kubernets . . .
^ FPGAs
FPGAs and Their Uses . . .
- https://www.prowesscorp.com/what-is-fpga/#:~:text=FPGAs%20are%20particularly%20useful%20for,FPGAs%20to%20prototype%20new%20chips. FPGAs for chip prototyping
- https://www.adafruit.com/product/451#description DE0-Nano - Altera Cyclone IV FPGA starter board
Somewhat dated with a posting date of 2015 . . .
ALTERA Cyclone IV EP4CE6 FPGA Development Board Kit Altera EP4CE NIOSII FPGA Board and USB Downloader Infrared Controller
" Well, there is also a Verilog IDE which runs on Linux: https://github.com/rochus-keller/VerilogCreator/blob/master/README.md
And I'm not sure what you mean by "reasonable sized mainstream FPGAs", but there is a full open source toolchain e.g. for Lattice ECP5 and also the Xilinx 7-series will be supported soon. "
- electronicdesign.com/resources/whats-the-difference-between/article/21800239/whats-the-difference-between-vhdl-verilog-and-systemverilog
^ Verilog and VHDL
VHDL and Verilog editors and simulators
Verilog tutorials recommendations:
- https://hackr.io/tutorials/learn-verilog . . . Ten best Verilog tutorials
Recommended books on Verilog:
^ Open Circuit Design OCD
^ Xilinx tools
Best download method for Xilinx developer tools and libraries . . .
^ FPGA articles at Digikey
2021-02-18 Thursday
- https://www.digikey.com/en/articles/fundamentals-of-fpgas-part-5-getting-started-with-intel-altera-fpgas
- https://www.digikey.com/en/blog/fpgas-101-a-beginners-guide
^ FPGA development kits
- https://www.mouser.com/new/terasic-technologies/terasic-fpga-development-kits-altera-cyclone-iv/
- https://www.amazon.com/Altera-Cyclone-FPGA-Development-Board/dp/B0188D4ENO/
- amazon.com/ALINX-ALTERA-Development-EP4CE6-AX301C/dp/B07DBXVMFZ/
^ Altera and FPGASoftware site at Intel
- https://fpgasoftware.intel.com/?edition=lite Quartus Prime Lite Edition
Quartus Prime Lite Edition Software (Device support included) What's Included? Quartus-lite-20.1.1.720-linux.tar Size: 6.4 GB MD5: 0BEBCAECE9D8A03AF9A69A48ADC45634 ** Nios II EDS requires you to install an Eclipse IDE manually.
Altera Quartus Prime Lite version 20.1.1.720 runs and works on Linux Mint / Ubuntu 20.04 LTS. Some interesting articles on configurations, projects and support for the DE0-Nano board involving Altera Cyclone IV include:
^ CAN Protocol and CANOpen
Starting point for information on CANOpen and Object Dictionaries used by CANOpen enabled devices (a.k.a. nodes):
Object Dictionary editor written in C#:
^ Portland Community College courses
^ Windows Powershell
- https://www.techrepublic.com/blog/windows-and-office/basic-windows-powershell-commands-you-should-already-know/
- https://www.brycemcdonald.net/powershell/automation/exchange/2019/04/10/PowerShell-vs-Bash.html
^ Existing skills
Excerpt of Agile values in a nutshell:
"Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan.”