-
Notifications
You must be signed in to change notification settings - Fork 25
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
SPI Bus and STM32F4 #18
Comments
FYI: For those interested - I've got basic blinky working and the built-in accelerometer working with samples on my fork. Started to do something with the USB. I like the Teensy 3.x support for USB's and there appears at least to be possible to run a USB Host, USB Client, etc. I dump the serial bootloading mehod and currently use ST-Link V2. |
If you want to contribute to USB host, please use the new library, UHS 3.0. Don't bother with 2.0 or 1.0, both are a mess. |
Hi blacktiger, Sorry about the delay. "Steensy" was, a prototype board with a F405 chip with the same nominal footprint and pinout as a Teensy 3 (though it had bugs and I moved straight to application specific boards after that). Thanks for your work! For the SPI, I'm usually happy to call SPI.setPins, so don't have strong feelings on the default. Any changes to a new variant are of course fine, but for core ones I'd have to check with the F3 boards. Could you possibly do 2 PR's (one for new variant, and a separate one for core changes)? Lastly, I've never used USB too much since for communication, Serial -> FTDI gives much higher bandwidth than the VCP implementation I've played with -- see #17 for discussion of its limitations. Thanks again, sorry for the long delay! I've been so swamped... |
Avik, In making the Black F4VET6 board work, I came across another SPI issue. The default pin defines for SPI are in C:\Program Files (x86)\Arduino\hardware\koduino\stm32\libraries\SPI\SPI.cpp It would be much better for these to be brought up to the variant level to variant.cpp as in most other STM code bases. Similarly for I2C. When I tried to make SPI3 work for my board:
it became clear that I was going to break the Teensy pinouts by changing PB4/AF5 to PA6/AF5, which is the SPI1_MISO default for my board
|
Hi Richard, I know it isn't optimal where it is now. However, I also find
it hugely important to be able to change this in my "sketch" code so I
defined the SPI.setPins function. Can you just call this in your sketch to
set the pins you want to use?
…On Tue, Apr 18, 2017 at 10:49 PM palmerr23 ***@***.***> wrote:
Avik,
In making the Black F4VET6 board work, I came across another SPI issue.
The default pin defines for SPI are in C:\Program Files
(x86)\Arduino\hardware\koduino\stm32\libraries\SPI\SPI.cpp
*It would be much better for these to be brought up to the variant level
to variant.cpp as in most other STM code bases. Similarly for I2C.*
When I tried to make SPI3 work for my board:
else if (SPIx == SPI3) {
SCK = PB3;
afSCK = 6;
MISO = PB4;
afMISO = 6;
MOSI = PB5
afMOSI = 6;
it became clear that I was going to break the Teensy pinouts by changing
PB4/AF5 to PA6/AF5, which is the SPI1_MISO default for my board
if (SPIx == SPI1) {
// Steensy default
. . .
MISO = PA6;
afMISO = 5;
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#18 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADCURzdLziZ05YrgXR0P0XE7vw_uu0aSks5rxXYvgaJpZM4LaS_9>
.
|
Avik,
Absolutely.
Clean up can come later.
SPI.setPins will do fine for now!
I'm focusing on ADC/DAC at the moment, so will amend the code as soon as I
have something SPI connected again.
Richard
…_________________________
0417 514 473
palmerr23
On Wed, Apr 19, 2017 at 1:01 PM, Avik De ***@***.***> wrote:
Hi Richard, I know it isn't optimal where it is now. However, I also find
it hugely important to be able to change this in my "sketch" code so I
defined the SPI.setPins function. Can you just call this in your sketch to
set the pins you want to use?
On Tue, Apr 18, 2017 at 10:49 PM palmerr23 ***@***.***>
wrote:
> Avik,
>
> In making the Black F4VET6 board work, I came across another SPI issue.
>
> The default pin defines for SPI are in C:\Program Files
> (x86)\Arduino\hardware\koduino\stm32\libraries\SPI\SPI.cpp
>
> *It would be much better for these to be brought up to the variant level
> to variant.cpp as in most other STM code bases. Similarly for I2C.*
>
> When I tried to make SPI3 work for my board:
>
> else if (SPIx == SPI3) {
> SCK = PB3;
> afSCK = 6;
> MISO = PB4;
> afMISO = 6;
> MOSI = PB5
> afMOSI = 6;
>
> it became clear that I was going to break the Teensy pinouts by changing
> PB4/AF5 to PA6/AF5, which is the SPI1_MISO default for my board
>
> if (SPIx == SPI1) {
> // Steensy default
> . . .
> MISO = PA6;
> afMISO = 5;
>
> —
> You are receiving this because you commented.
>
>
> Reply to this email directly, view it on GitHub
> <#18 (comment)>,
or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/
ADCURzdLziZ05YrgXR0P0XE7vw_uu0aSks5rxXYvgaJpZM4LaS_9>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#18 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AOKwsUNa5AEAPJySqXszSeH83UcDN-Iqks5rxXkAgaJpZM4LaS_9>
.
|
I'll be using the F446 with DMA and SPI in the next few days/weeks and will give it a thorough shakedown |
I've been using SPI with DMA (and without, in polling mode) successfully on the F446. I'm not sure about the DMA API's but at least it's all functional. 01398be |
I working on a variant for the STM32F407-Discovery board. I noticed that in SPI.cpp, line 82, there is a comment for a Steensy default? Although "Google is my friend", she let me down on a search for Steensy. Perhaps you are trying to support Teensy 3.x, a Freescale board?
Either way, I managed to get the SPI working with the onboard accelerometer after a bit of work using the setPins(...) method.
I've forked your repo and you are more than welcome to take a look and comment.
The text was updated successfully, but these errors were encountered: