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

SPI Transactions #2223

Merged
merged 8 commits into from
Aug 8, 2014
Merged

SPI Transactions #2223

merged 8 commits into from
Aug 8, 2014

Conversation

PaulStoffregen
Copy link
Sponsor Contributor

No description provided.

@jantje
Copy link

jantje commented Aug 2, 2014

I read your doc about this change. http://www.dorkbotpdx.org/blog/paul/spi_transactions_in_arduino
Great work (as usual)
Thanks from me (and I hope the whole Arduino community)
Jantje

Lauszus added a commit to felis/USB_Host_Shield_2.0 that referenced this pull request Aug 3, 2014
@Lauszus
Copy link
Contributor

Lauszus commented Aug 3, 2014

Nice job! But shouldn't there be a function that would allow to transfer multiple bytes at once for sam like the in the AVR implementation: https://github.com/arduino/Arduino/pull/2223/files#diff-0c14650b7ecec58b8d50bbf23c9c0a30R211 to make it compatible?

@PaulStoffregen
Copy link
Sponsor Contributor Author

Opps, those extra transfer() functions were only done for AVR.

Cristian, would you like a new pull request without those? Or maybe they could simply be commented out, until someone does them for Arduino Due?

@cmaglie
Copy link
Member

cmaglie commented Aug 6, 2014

@PaulStoffregen
that's fine, I'll eventually add the missing transfer function (or if someone else want's to do it on top of your pull-request is more than welcome). I'm doing some last tests, sorry for the delay in processing this one, I plan to merge it soon.

@cmaglie cmaglie added this to the Release 1.5.8 milestone Aug 6, 2014
@cmaglie cmaglie self-assigned this Aug 6, 2014
@PaulStoffregen
Copy link
Sponsor Contributor Author

Thanks Cristian. :)

This has been in the works since April, and on my wish-list since at least January. A few more days or weeks isn't going to matter much in the grand scheme of things.

I'm looking forward to patching many more of the third party SPI-based libraries. Adafruit's accepted a couple patches, but a couple others I've approached have said they'll merge patches once 1.5.8 has this code. Can't say I blame them... I probably wouldn't merge support for any feature that isn't yet "official".

cmaglie added a commit that referenced this pull request Aug 8, 2014
@cmaglie cmaglie merged commit 1824ba1 into arduino:ide-1.5.x Aug 8, 2014
@cmaglie
Copy link
Member

cmaglie commented Aug 8, 2014

Now it's in 1.5.8 so... no more excuses ;-)

@PaulStoffregen
Copy link
Sponsor Contributor Author

I'm not having much success getting 3rd party library authors to adopt the new API without any official Arduino release. Nobody is moved by the fact it's on GitHub and the nightly builds.

Please consider making a 1.5.8 release soon.

@Lauszus
Copy link
Contributor

Lauszus commented Sep 8, 2014

@PaulStoffregen is has already been implemented in the USB Host library: https://github.com/felis/USB_Host_Shield_2.0/tree/SPI, just so you know :)

But yes we are waiting for a 1.5.8 release before we are going to merge it into master, also it is still missing one of the transfer functions, as mentioned here: #2223 (comment).

@BAG28
Copy link

BAG28 commented Sep 20, 2014

Hello Paul,
I am very impressed by the job you are doing.
I am trying to use 5200 base ethernet shield on arduino Due. Replacing 5100.h and 5100.ccp by ones I found for 5200 is not working, as your improvements are not implemented there. What do you think about making a library compatible with both versions ?
I am not a specialist, so forgive me if my question seems out of scope.
All the best.

@PaulStoffregen
Copy link
Sponsor Contributor Author

    What do you think about making a library compatible with both versions ?

Like this?

https://github.com/PaulStoffregen/Ethernet

@BAG28
Copy link

BAG28 commented Sep 20, 2014

Great !
I will try it on my uno.
Will it work for Due Board ?

@PaulStoffregen
Copy link
Sponsor Contributor Author

Might work on Due, might not. When you try it, let me know? Or if there's a simple fix, send a pull request...

@BAG28
Copy link

BAG28 commented Sep 20, 2014

Not working uno and arduino-1.05-r2 and with arduino-1.5.8nighly. This give compilation errors.
this one is working.
https://github.com/Seeed-Studio/Ethernet_Shield_W5200/blob/master/EthernetV2_0.cpp
I start the test with due board and let you know.

@BAG28
Copy link

BAG28 commented Sep 20, 2014

Not working with arduino 1.5.7. Compilation error
N:\arduino-1.5.7-windows\arduino-1.5.7\libraries\EthernetV2_0\EthernetV2_0.cpp: In member function 'void EthernetClass::begin(uint8_t*, IPAddress, IPAddress, IPAddress, IPAddress)':
N:\arduino-1.5.7-windows\arduino-1.5.7\libraries\EthernetV2_0\EthernetV2_0.cpp:64:39: error: no matching function for call to 'W5100Class::setIPAddress(IPAddress::&)'
W5100.setIPAddress(local_ip._address);

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