Gregory Nutt
435f21225a
Fix a warning about an unused label, errout: Use bool with true/false, not uint8_t with 1/0
2016-06-28 14:55:04 -06:00
Gregory Nutt
93f49290a3
Eliminate a warning
2016-06-28 13:47:44 -06:00
Michael Spahlinger
ed1f3aec61
Fixed build of SAMV71-XULT/nsh. With the changes from 26f7b8c
the build process of the default configuration did not succeed anymore. This is fixed by this commit.
2016-06-28 08:23:41 -06:00
Michael Spahlinger
26f7b8c9e5
TWIHS Driver improved and GPIO-Driver fixed for Open-Drain Pins
...
- sam_gpioread: Now the actual line level from the pin is read back. This is extremely important for Open-Drain Pins, which can be used bidirectionally
- Re-Implemented twi_reset-function and enhanced it so it can be called from inside the driver (see next point)
- Glitch-Filter: Added a configuration option to enable the twi-built-in glitch filter
- Added a "Single Master Mode": In EMC Testing the TWI-Bus got stuck because the TWI-Master detected a Multi-Master access (but there is no second master). With the option "Single Master" we detect these events and automatically trigger a twi_reset. We also do an automatic recovery if a slave got stuck (SDA stays low).
With the above changes I²C-Bus reliability in harsh environments (eg. EMC) is greatly improved.
The small change in the GPIO-Driver was necessary because otherwise you cannot read back the correct line status of Open-Drain Outputs and this is needed by the twi_reset function.
2016-06-24 10:33:51 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
dbd70a5864
Restore some debug output that lost its low-level marking
2016-06-17 07:29:58 -06:00
Gregory Nutt
801d661423
Change *err() to either info() or err(ERROR:..), depending upon if an error has occurred.
2016-06-16 15:10:57 -06:00
Gregory Nutt
0c8c7fecf0
Add _ to the beginning of all debug macros to avoid name collisions
2016-06-16 12:33:32 -06:00
Gregory Nutt
5c89b18af8
Centralize definitions associated with CONFIG_DEBUG_I2C
2016-06-15 16:30:12 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
David Sidrane
fca329945b
This patch ensures that the TWIHS (i2c) hw get's its clock set when the sequence of
...
sam_i2cbus_initialize
sam_i2cbus_uninitialize
sam_i2cbus_initialize
Or twi_reset is called.
I found this a while back in the stm32 family, so there may be more arch-es with this sort of bug. I suppose any driver that has the notion of "do not set the freq if it is already set" could be suspect.
2016-05-23 13:38:34 -06:00
Gregory Nutt
4a8ac55c9d
All SAM TWI: g_twiops should be both static and const
2016-03-09 18:11:55 -06:00
Frank Benkert
73de0d9114
SAMV7: TWIHS: Correct Error Handling
2016-03-08 06:47:22 -06:00
Frank Benkert
945e137382
SAMV7: TWIHS: Correct timeout calculation; correct some issues with Multi-Message-Transfer
2016-03-08 06:44:41 -06:00
Gregory Nutt
70e502adb0
Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-13 19:11:09 -06:00
Gregory Nutt
1e4f2ae2c1
Rename up_i2c initialize and uninitialize functions using the correct MCU-specific naming
2016-02-02 12:08:23 -06:00
Gregory Nutt
d2571985ef
I2C: up_i2creset should not be a global function; Now it is an I2C interface method
2016-02-02 11:21:45 -06:00
Gregory Nutt
0693e76be8
I2C: Remove the setfrequency method from the interface
2016-02-01 16:30:29 -06:00
Gregory Nutt
a64f36a63e
I2C: Remove setaddress method
2016-02-01 12:14:20 -06:00
Gregory Nutt
ce988c7ed3
Remove the read and write methods from the I2C interface
2016-02-01 09:22:10 -06:00
Gregory Nutt
2171438c61
I2C_TRANSFER support is no longer optional
2016-01-31 14:00:53 -06:00
Gregory Nutt
531d73af41
Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s.
2016-01-30 08:35:46 -06:00
Gregory Nutt
9f9b85a932
Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h
2016-01-30 07:59:44 -06:00
Gregory Nutt
c0fb4e34a7
I2C: Eliminate the I2C_WRITEREAD method
2016-01-26 10:23:09 -06:00
Gregory Nutt
b64a45d667
Add a missing semicolon
2016-01-26 08:00:29 -06:00
Gregory Nutt
3fdd914203
Costmetic fixes to C coding style
2015-10-05 17:13:53 -06:00
Gregory Nutt
7ced84c5f0
Standardize the width of all comment boxes in C files
2015-10-03 07:25:03 -06:00
Gregory Nutt
975d912b40
Cosmetic: Move # of pre-processior command to column 1
2015-09-05 09:07:37 -06:00
Gregory Nutt
14d99a0ef2
SAMV7 TWIHS: Fix logic that performs multi-message tranfers with and without repeated starts. This change is the final piece that was required to get the maXTouch Xplained Pro workding.
2015-05-12 17:56:35 -06:00
Gregory Nutt
824f486bdf
SAMV7 Ethernet: Support getting IP address from the XULT AT24 EEPROM
2015-03-17 14:29:41 -06:00
Gregory Nutt
26cf5a35a9
SAMV71-XULT: Enable I2C and the I2C tool in the NSH configuration
2015-03-12 12:27:06 -06:00
Gregory Nutt
9b6c7661a4
SAMV7: Add TWI/I2C driver (untested)
2015-03-12 10:58:11 -06:00