pico | minimalistic framework for real-time object detection | Machine Learning library
kandi X-RAY | pico Summary
kandi X-RAY | pico Summary
This repository contains the code for real-time face detection. Check out a demo video at to get the better idea. The pico framework is a modifcation of the standard Viola-Jones method. The basic idea is to scan the image with a cascade of binary classifers at all reasonable positions and scales. An image region is classifed as an object of interest if it successfully passes all the members of the cascade. Each binary classifier consists of an ensemble of decision trees with pixel intensity comparisons as binary tests in their internal nodes. This enables the detector to process image regions at very high speed. The details are given in
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of pico
pico Key Features
pico Examples and Code Snippets
Community Discussions
Trending Discussions on pico
QUESTION
I have imx7d-pico with Carrier board. This tiny computer was used a lot for Android Things. PDF (datasheet) easily found.
I stay (during the last two weeks) trying this tutorial: https://github.com/TechNexion/freertos-tn/tree/freertos_1.0.1_imx7d
...ANSWER
Answered 2022-Apr-01 at 19:14I solved with two changes in device-tree files:
in imx7d.dtsi
I put status = "okay";
in rpmsg: rpmsg{
in imx7d-pico-pi-qca-m4.dts
I put:
reserved-memory {
rpmsg_vrings: vrings0@0x8ff00000 {
reg = <0x8fff0000 0x10000>;
no-map;
};
};
&
&rpmsg{
memory-region = <&rpmsg_vrings>;
vdev-nums = <1>;
reg = <0x9fff0000 0x10000>;
status = "okay";
};
QUESTION
I was working with micropython on a SEEED XIAO (SAMD21) using version 1.18, and wanted to use 'compiled' libraries (.mpy
) to conserve space. I had mpy-cross for version 5 which worked okay for me. I also wanted to have floating point so I built a new micropython with that option- from the latest (20220302) github version- and noticed that mpy-cross had updated to version 6. I thought I would check to see which versions of .mpy
were used The micropython documentation suggests some code to check the version of .mpy
using the sys.implementation
object. I noticed a variety of sys.implementation
implementations.
Version 1.18- released by micropython 20220117 on the XIAO SAMD21 gave the following results:
...ANSWER
Answered 2022-Mar-27 at 18:05If you want to use precompiled/bytecode .mpy files then you will need to Decide to use either bytecode or compile to native code for your mcu platforms.
For bytecode you will need to distribute a bytecode version that matches the runtime firmware, 1.12-1.18 == 5, next version will increase
For native code you'll need to distribute versions for each platform that you want to support. An esp32c3 cannot run stm32 native code and vice-versa
Also the different ports/board will indeed have differences in some of the stdlib APIs. Your code must be robust enough to handle these differences.
QUESTION
I have created a v-dialog component that appears when my webapp is loaded and is used to install the PWA:
...ANSWER
Answered 2022-Mar-23 at 19:45The issue is that you loose correct context for this
. You don't pass arrow function to setTimeout
, so this
will be window
or undefined
(depending on strict mode). Anyway, you should change your code:
QUESTION
I am running the following blink program on my raspberry pi pico. I am using circuit python.
...ANSWER
Answered 2022-Mar-22 at 01:45Your code is for micropython. Circuitpython is different. See here https://learn.adafruit.com/circuitpython-essentials/circuitpython-digital-in-out
QUESTION
I followed the guide "Yocto NFS & TFTP boot" from the i.MX knowledge base to make my embedded Linux device run a kernel and a filesystem on my development machine.
The kernel seems to be correctly loaded via TFTP, but the system doesn't boot up properly and systemd
goes into maintenance mode.
Here's the first error in the log:
...ANSWER
Answered 2022-Mar-12 at 09:16The message must be superuser to use mount
is a hint to a permission problem.
The Linux system expects most system files to be owned by UID 0 (root), but when reading the NFS filesystem set up in the guide it actually reads UID 1000, or the UID of whoever built the system in the development machine. If I list the contents of ${YOCTO_BUILD_DIR}/tmp/work/${TARGET}-poky-linux-gnueabi/${IMAGE}/1.0-r0/rootfs
, I get:
QUESTION
I have the following instruction: mov r1, r7
in my assembly code but after looking into disassembly, I've found that actual generated code was adds r1, r7, #0
I checked with ARMv6-M Architecture Reference Manual and I found out that there's MOVS ,
instruction (A6.7.40) which is different from ADDS
.
While that's not a big issue, I'm still puzzled why assembler replaces code that I wrote by different op-codes. According to the book that I'm reading, all non-jump instructions take 1 cycle (and I'd prefer for assembler to be dumb rather than trying to optimize something for me).
I'm using Raspberry Pi Pico SDK which uses GNU Assembler, AFAIK.
All my code is written in helloworld.S, full source code is:
...ANSWER
Answered 2022-Mar-06 at 21:36Can I suggest that you add:
QUESTION
I have a Raspberry Pi Pico running CircuitPython. Is it possible for the python code on this board to detect if a modifier key is pressed on the host computer's keyboard when the board is connected to the host over USB?
My knowledge of USB protocols is limited but it feels like the Pico would need to be listening to data explicitly sent over USB. I don't think that key presses would be sent that way.
I'd be happy to be proven wrong.
...ANSWER
Answered 2022-Mar-01 at 14:53I don't think you can do this without installing something on the host computer side to detect when the Pico was connected, check what keys were pressed and communicate with the Pico accordingly.
If the host computer is Windows then a quick search finds this which uses Windows Management Instrumentation to run Python code when a USB device changes.
Alternatively, you could attach a hardware button to the Pico and check that button when the Pico detects that it has been connected to a USB host - you appear to have already figured this out.
QUESTION
Basically I'm just trying to figure out how an spdt switch would work with a raspberry pi pico. When I search for information on how to interface a switch with a pico, all I get is info on button switches.
Does the spdt switch act like a closed circuit, constantly providing power to the pin I connect it to?
Assuming the answer to the question above is "yes", how would I go about telling micropython to do different things based on which pin is receiving power?
Sorry for the simple questions, I have no experience in the domain of microcontrollers and can't find this info anywhere.
...ANSWER
Answered 2022-Feb-23 at 12:37A switch -- by itself -- doesn't provide power to anything. All it does is close and open a circuit. You can replace the switch with a wire and connect/disconnect the wire and accomplish the same thing.
If you had the middle pin of the switch connected to GPIO 2, and the two outer pins wire to Ground and Vcc, you could use the switch to switch the value of the GPIO between logic 0 and logic 1.
Reading the value would look something like this:
QUESTION
I'm correctly generating my image Yocto-hardknott-technexion with this:
...ANSWER
Answered 2022-Feb-16 at 16:34The solution was to change imx7d-pico-pi-m4.dtb to imx7d-pico-pi-qca-m4.dtb in the Yocto/Hardknott/technexion configuration file called pico-imx7.conf(described in the post)
QUESTION
I'm trying to learn the basics of ARM assembly and wrote a fairly simple program to sort an array. I initially assembled it using the armv8-a
option and ran the program under qemu
while debugging with gdb
. This worked fine and the program initialized the array and sorted it as expected.
Ultimately I would like to be able to write some assembly for my Raspberry Pi Pico, which has an ARM Cortex M0+, which I believe uses the armv6-m
option. However, when I change the directive in my code, it compiles fine but behaves strangely in that the program counter increments by 4 after every instruction instead of the 2 that I expect for thumb. This is causing my program to not work correctly. I suspect that qemu
is trying to run my code as if it were compiled for the full ARM instruction set instead of thumb, but I'm not sure why this is.
I am running on Ubuntu Linux 20.04 LTS, using qemu-arm
version 4.2.1 (installed from the package manager). Does the qemu-arm
executable only run full ARM binaries? If so, is there another qemu
package I can install to run a thumb binary?
Here is my code if it is helpful:
...ANSWER
Answered 2022-Jan-28 at 11:26There are a couple of concepts to disentangle here:
(1) Arm vs Thumb : these are two different instruction sets. Most CPUs support both, some support only one. Both are available simultaneously if the CPU supports both. To simplify a little bit, if you jump to an address with the least significant bit set that means "go to Thumb mode", and jumping to an address with that bit clear means "go to Arm mode". (Interworking is a touch more complicated than that, but that's a good initial mental model.) Note that all Arm instructions are 4 bytes long, but Thumb instructions can be either 2 or 4 bytes long.
(2) A-profile vs M-profile : these are two different families of CPU architecture. M-profile is "microcontrollers"; A-profile is "applications processors", which is "(almost) everything else". M-profile CPUs always support Thumb and only Thumb code. A-profile CPUs support both Arm and Thumb. The Raspberry Pi Pico is a Cortex-M0+, which is M-profile.
(3) QEMU system emulation vs user-mode emulation : these are two different QEMU executables which run guest code in different ways. The system emulation binary (typically qemu-system-arm
) runs "bare metal code", eg an entire OS. The guest code has full control and can handle exceptions, write to hardware devices, etc. The user emulation binary (typically qemu-arm
) is for running Linux user-space binaries. Guest code is started in unprivileged mode and has access to the usual Linux system calls. For system emulation, which CPU is being emulated depends on what machine type you select with the -M
or --machine
option. For user-mode emulation, the default CPU is "A-profile with all supported features enabled" (this is --cpu max
).
You're currently using qemu-arm
which means you get user-mode emulation. This should support Thumb binaries, but unless you pass it a --cpu
option it will be using an A-profile CPU. I would also suggest using a newer QEMU for M-profile work, because a lot of M-profile CPU bugs have been fixed since version 4.2. I think 4.2 is also too old to have the Cortex-M0 CPU.
GDB should tell you in the PSR what the T bit is set to -- use that to check whether you're in Thumb mode or Arm mode, rather than looking at how much the PC is incrementing by.
There's currently no QEMU system emulation of the Raspberry Pi Pico (though somebody has been doing some experimental work on one). If your assembly is just basic "working with registers and a bit of memory" you can do that with the user-mode emulator. Or you can try the 'microbit' machine model, which is a Cortex-M0 board -- if you're not doing things that are specific to the Pi Pico that might be good enough.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install pico
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page