Commit graph

92 commits

Author SHA1 Message Date
Benoît Thébaudeau 31e0c87a6f enc28j60: Do not initialize MAIPGH for full duplex
MAIPGH should be programmed only if half duplex is used.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau 121b066f04 enc28j60: Update the MACON4 configuration comment
This only applies to half duplex, so the actual configuration of MACON4
does not need to be changed.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau 2b08c32528 enc28j60: The MACON2 register is reserved
The register 0x01 in bank 2, named MACON2 in the code, is actually
reserved, so its contents must not be changed.

This register has been marked as reserved from the revision B of the
data sheet in July 2006. The current revision of the data sheet is E,
and it is quite clear about this register.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau b21da96e67 enc28j60: Print revision during initialization
This is useful as debug information since the revisions of this device
have notable differences.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:14 +02:00
Benoît Thébaudeau ba6a0bc381 enc28j60: Add workaround for erratum #2 "CLKRDY set early"
A delay of 1 ms must be added after the System Reset Command. Still wait
for ESTAT.CLKRDY afterwards as a precaution.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:13 +02:00
Benoît Thébaudeau 48f269e4f5 enc28j60: Fix RCR command for MAC and MII registers
The Read Control Register command requires that a dummy byte be read
before the register value for the MAC and MII registers.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:13 +02:00
Benoît Thébaudeau 35544e81ee enc28j60: Reuse read/writedata() for read/writedatabyte()
The read/writedatabyte() functions are just a special case of
read/writedata() with a simpler API, so reuse these instead of
duplicating code.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-07-16 21:14:13 +02:00
Ulf Knoblich 557091b710 cc1200: added nullrdc timing parameters to rf configuration file 2015-06-22 14:59:14 +02:00
Ulf Knoblich 584b6ae4ca cc1200: removed the hardware dependent sniffer stuff from cc1200 2015-05-29 15:19:16 +02:00
Ulf Knoblich ed0460e369 cc1200: Initial commit (tested with 50kps nullrdc) + update rf configuration 2015-05-28 15:08:01 +02:00
Harald Pichler 877bf27f5a Merge branch 'contiki' into osd 2015-05-15 20:48:26 +02:00
Simon Duquennoy 333e076b24 Disable PACKETBUF_ATTR_PACKET_TYPE in the non-Rime case by default 2015-05-06 16:36:15 +02:00
Adam Dunkels 12beebeec0 IP64 bindings for the ENC28j60 Ethernet driver 2015-04-15 08:30:26 +02:00
Nicolas Tsiftes 132b31d6de Merge pull request #715 from adamdunkels/pr/enc28j60
ENC28j60 Ethernet driver code
2015-03-30 13:45:12 +02:00
Harald Pichler 560117e8f3 Merge branch 'contiki' into osd 2015-03-23 13:07:28 +01:00
Nicolas Tsiftes a785405b36 Make it possible to set and get the CC2420's CCA threshold through the extended radio API. 2015-02-19 11:26:43 +01:00
Ralf Schlatterbeck e946cd4c13 Add LED strip example
.. not yet working
2015-01-25 18:31:17 +01:00
Ralf Schlatterbeck abdf6f8c6b Refactor A/D conversion in adc.c
Now the necessary settings are in adc.h. Refactored to allow repeated
ADC reads without reinitialization. Arduino allows setting
analogReference, this is now also implemented.
ADC is now initialized to sane values in apps/arduino/arduino-process.c
dev/arduino/arduino-compat.h now has all hardware independent settings
for arduino (some moved from platform/osd-merkur/dev/hw-arduino.h).
turnOffPWM re-implemented with hw_timer, removed from wiring_digital.c
ADC-specific arduino stuff moved to arduino-compat.h
Arduinos wiring_analog no longer necessary.
arduino-sketch example now reads analog inputs 1 and 5 using analogRead.
2014-11-19 13:53:32 +01:00
Ralf Schlatterbeck b6be226e69 Add Arduino compatibility layer
We can now directly compile arduino sketches (.pde) files.
Arduino compatible analogWrite works now.
But there is still a long way to go, serial I/O and timer stuff (delay,
millis etc) currently don't work (not tested but I don't expect this to
work).
It can be used in an arduino sketch or in a normal contiki program.
We get a PWM frequency of 490.2 Hz (a period of 2.040 ms), that's
Arduino compatible. If you need different frequencies see native timer
usage in examples/osd/pwm-example
In a contiki program you have to call arduino_pwm_timer_init to
initialize the timer before pwm works. The arduino sketch wrapper
already does this.
For running a sketch, see examples/osd/arduino-sketch
2014-11-19 13:48:05 +01:00
kkrentz f513ef9ef0 CC2420: Added RSSI_OFFSET as described in the manual 2014-08-05 05:07:06 -07:00
kkrentz 75d2914aaf CC2420: Added GET_LOCK/RELEASE_LOCK to set_key & encrypt 2014-08-05 05:07:06 -07:00
kkrentz c6a98f2968 CC2420: Turned SPI macros to functions and removed redundant AES API 2014-08-05 05:07:06 -07:00
kkrentz 6486c51692 CC2420: Hardware-accelerated aes_128_driver 2014-08-05 05:07:06 -07:00
kkrentz 2bac58f7b6 CC2420: Reusing getrxdata instead of getrxbyte. 2014-08-05 05:07:06 -07:00
kkrentz e977da8fe2 CC2420: Eliminated duplicated code in cc2420_read 2014-08-05 05:07:05 -07:00
kkrentz e3eb924f13 CC2420: Removed unused variables 2014-08-05 05:07:05 -07:00
kkrentz 1cb60b27de CC2420: Removed commented code 2014-08-05 05:07:05 -07:00
kkrentz b53e35b2a0 CC2420: The crystal oscillator only needs to stabilize at startup 2014-08-05 05:07:05 -07:00
kkrentz 06d3225aa7 CC2420: CC2420_WRITE_RAM with parameterizable ordering + resulting
simplifications
2014-08-05 05:07:05 -07:00
kkrentz b89d37d301 CC2420: Macros as functions for saving program memory 2014-08-05 05:07:05 -07:00
kkrentz 9e266acd9c CC2420: Doing CRC in hardware all the time 2014-08-05 05:07:05 -07:00
Adam Dunkels bf7e191ef3 ENC28j60 Ethernet driver code 2014-06-12 00:03:44 +02:00
Niclas Finne 132b8dde3b Fixed CC2420 to return RADIO_RESULT_INVALID_VALUE if trying to set a
transmission power outside the valid range instead of using closest
valid value.
2014-04-13 21:43:37 +02:00
Niclas Finne 271ac4413f Removed the unused function cc2420_cca_valid and replaced some macros
with functions in CC2420. This reduces the code size with over 400 bytes.
2014-04-11 14:46:49 +02:00
Niclas Finne 8c0cdcfaec Added radio parameters RADIO_PARAM_RSSI and RADIO_PARAM_TXPOWER for cc2420 2014-04-09 21:25:38 +02:00
Niclas Finne 9d01fbf735 Added stub for extended radio API for CC2520 2014-04-03 13:38:17 +02:00
Niclas Finne 0874165722 Added stub for extended radio API for CC2420 2014-04-03 13:38:13 +02:00
Adam Dunkels bddd96d5c8 Removed all module makefiles. Instead, all .c files in a module directory are compiled. 2014-01-26 23:20:46 +01:00
Adam Dunkels 25367fb08c Moved the ds2411 driver into a dev/ds2411 module 2014-01-26 23:20:31 +01:00
Adam Dunkels c9efe3c3c4 Moved the cc2520 driver into its own dev/cc2520 module 2014-01-26 23:20:31 +01:00
Adam Dunkels 4cfe6c4a5e Moved the sht11 driver to its own module 2014-01-26 23:20:30 +01:00
Adam Dunkels 0b805e4763 Moved the cc2420 driver into a separate dev/cc2420 module 2014-01-26 23:20:27 +01:00