Commit Graph

2837 Commits

Author SHA1 Message Date
Oliver Schmidt
c2a71ee62b Updated several aspects regarding Ethernet drivers.
I. Build Ethernet drivers individually for each target.

After all the Ethernet cards/carts are different enough to ask for customized drivers. Building the drivers individually opens the option to use .ifdef's to customize them.

II. Removed Ethernet driver I/O base.

So far the base address of the Ethernet chip was a general property of all Ethernet drivers. It served two purposes:
1. Allowing to use a single Ethernet driver for a certain Ethernet chip, no matter what machine was connected to the chip.
2. Allowing use an Ethernet card in all Apple II slots.

However, we now use customized Ethernet drivers for the individual machines so 1.) isn't relevant anymore. In fact one wants to omit the overhead of a runtime-adjustable base address where it isn't needed.

So only the Apple II slots are left. But this should rather be a driver-internal approach then. We should just hand the driver the slot number the user wants to use and have the driver do its thing.

III. With per-target Ethernet drivers we can have per-target MAC addresses.

IV. Added support for RR-Net MK3 unique MAC addresses.

The RR-Net MK3 can be operated in two modes:

- In cartrigde mode it has a startup-ROM that sets the CS8900A MAC address to the unique MAC address.
- In clockport mode the driver has to read the two lowest MAC address bytes from the EEPROM and combine them with 28:CD:4C:FF.

See http://wiki.icomp.de/wiki/RR-Net#Detecting_MK3 for details.

The driver first checks if the current CS8900A MAC address starts with 28:CD:4C:FF. If it does, it overwrites its built in default MAC address with the CS8900A MAC address.

If the CS8900A MAC address didn't start with 28:CD:4C:FF, it checks if there are two valid MAC address bytes in the EEPROM. If they are there, it overwrites its built in default MAC address with a combination of 28:CD:4C:FF and those two bytes.

V. Added support for the upcoming 'Dracarys' Ethernet PBI for the ATARI.

See http://atariage.com/forums/topic/287376-preannouncement-dragon-cart-ii/ for details on Dracarys.

So far there was only one Ethernet solution for the ATARI. Therefore the relevant driver was loaded statically. With now having two solutions we have to load the corresponding driver dynamically (like on the other machines). Fortunately this doesn't mean significant additional overhead as there are several mouse drivers for the ATARI asking for dynamic mouse driver loading. Therefore the dynamic driver loading infrastructure was linked already.

Another aspect of more than one Ethernet solution is that the Ethernet config program becomes necessary on the ATARI to select the correct driver. Although that program is pretty simple and therefore rather small it means that now only one "major" program fits on a 130kB disk. So we need now 5(!) 130kB disk images instead 3 so far.
2019-05-08 16:46:47 +02:00
Oliver Schmidt
309e2fcd79 The textcolor macro optimization is by now provided by cc65. 2019-05-08 10:27:00 +02:00
Oliver Schmidt
aced9e2211 Adjusted to cc65 2.17 which generates AppleSingle files. 2018-03-08 17:23:43 +01:00
Peter Sjödin
58842a57b8 Driver for Plantower PMS 5003 dust sensors.
Platform-specific files for avr-rss2.
2017-10-10 10:34:10 +02:00
Timofei Istomin
9933dfd7d0 Use correct calibration data structure size 2017-09-26 18:42:48 +02:00
George Oikonomou
7b193ee014 Merge pull request #1932 from g-oikonomou/contrib/cc1350/lp-and-st
Add support for the CC1350 LP and Sensortag
2017-04-24 15:34:22 +01:00
George Oikonomou
6a36a398bd Merge pull request #1931 from g-oikonomou/contrib/cc26xx-cc13xx/update-rf-api
Use TI-Provided CC13xx/CC26xx RF API
2017-04-24 15:33:14 +01:00
Atis Elsts
f6a2c4ea3f Fix HDC sensor reading conversion 2017-04-05 12:23:26 +01:00
tarakanov
f564e6bb5f Correct SPI pins 2017-04-02 13:14:09 +05:00
George Oikonomou
12f17211e6 Merge pull request #2167 from posjodin/sensniff-new
Adding sensniff support for Atmel via avr-rss2 platform
2017-04-02 00:29:09 +01:00
Robert Olsson
417f32c65d Adding sensniff support for Atmel via avr-rss2 platform 2017-03-31 20:00:20 +02:00
Robert Olsson
399150b142 Minor spell fix in ANNOUNCE_BOOT
modified:   platform/avr-rss2/contiki-main.c
2017-03-30 15:24:19 +02:00
Robert Olsson
3829dd2f20 Leds toggle added
modified:   platform/avr-rss2/dev/leds.c
2017-03-24 17:37:37 +01:00
Robert Olsson
e77dba152d Removing avr-rss2 private sniffer app. Better use examples/sensniff. 2017-03-24 17:29:50 +01:00
Robert Olsson
c0239b41c9 Cleand-up _CONF for ROUTES, NEIGHBOR and BUFFER_SIZE
modified:   platform/avr-rss2/contiki-conf.h
2017-03-24 16:57:53 +01:00
Robert Olsson
e09bdc0c07 Increasing route table from 4 to 20
modified:   platform/avr-rss2/examples/ipv6/mqtt-demo/project-conf.h
2017-03-24 16:57:27 +01:00
Robert Olsson
29914b5a1f Fixing input serial line initialization pointed by Peter Sjödin/KTH
For avr-rss2 platform
2017-03-24 16:57:03 +01:00
Peter Sjödin
fa6c52633f Use RS232_BAUDRATE to define baudrate from projekt config file.
Removed serial initialization from contiki-main.c. It seems to be
too soon.
2017-03-24 16:56:42 +01:00
Robert Olsson
9e5aed5df6 Support for changing PANID and channel from project-conf.h
modified:   cpu/avr/radio/rf230bb/rf230bb.c
	modified:   platform/avr-rss2/contiki-conf.h
	modified:   platform/avr-rss2/contiki-main.c
2017-03-24 16:56:22 +01:00
Oliver Schmidt
356814fe9c Merge pull request #2146 from oliverschmidt/slip
Add SLIP support to retro platforms.
2017-03-18 15:56:06 +01:00
George Oikonomou
dc782732e0 Merge pull request #2132 from JoaoS/energest_avr_rss2
add CPU energest measurements that were lacking in this platform
2017-03-18 13:17:51 +00:00
Oliver Schmidt
a0134ff35e Beautified SLIP macros. 2017-03-18 14:06:11 +01:00
Oliver Schmidt
79855ff02d Beautified SLIP macros. 2017-03-18 14:05:36 +01:00
Atis Elsts
a0a2881ab0 CC26xx SensorTag I2C: add and use LIMITED_BUSYWAIT macro 2017-03-14 18:52:10 +00:00
root
cc4aa440a0 moved energest init to after the rtimer init 2017-03-13 13:54:40 +00:00
root
42cbe85a49 add CPU energest measurements that were lacking in this platform 2017-03-08 16:13:27 +00:00
Laurent Deru
da45afdf27 Add basic contikimac parameters for jn516x 2017-03-08 15:25:55 +01:00
Laurent Deru
79b06879fe Add to jn516x micromac driver full MAC layer support 2017-03-08 15:25:55 +01:00
Simon Duquennoy
0ceb45ee78 Merge pull request #2129 from simonduq/pr/update-jn516x-sdk
jn516x: update SDK
2017-03-08 15:20:31 +01:00
Simon Duquennoy
04bce213e6 jn516x: remove redundant declaration 2017-03-08 12:13:37 +01:00
Oliver Schmidt
91beb8670f Added SLIP support to retro platforms.
The cc65 tool chain comes with V.24 drivers so it seems reasonable to use the existing Contiki SLIP driver to implement network access via SLIP as alternative to Ethernet.

Some notes:
- The Ethernet configuration was simplified in order to allow share it with SLIP.
- The Contiki SLIP driver presumes an interrupt driven serial receiver to write into the SLIP buffer. However the cc65 V.24 drivers aren't up to that. Therefore the main loops were extended to pull received data from the V.24 buffers and push it into the SLIP buffer.
- As far as I understand the serial sender is supposed to block until the data is sent. Therefore a loop calls the non-blocking V.24 driver until the data is sent.

On all platforms there's only one V.24 driver available. Therefore V.24 drivers are always loaded statically.

On the Apple][ the mouse driver is now loaded statically - independently from SLIP vs. Ethernet. After all there's only one mouse driver available. However there's a major benefit with SLIP: Here all drivers are loaded statically. Therefore the dynamic module loader isn't necessary at all. And without the loader the heap manager isn't necessary at all. This allows for a reduction in code size roughly compensating for the size of the SLIP buffer.
2017-02-15 23:43:28 +01:00
Oliver Schmidt
a26ee64dc0 Merge pull request #2097 from oliverschmidt/master
Removed artifacts of former uip_appdata handling.
2017-02-13 20:05:57 +01:00
Oliver Schmidt
6463c91a4f Removed artifacts of former uip_appdata handling.
Adam Dunkels writes on 2/5/2017 on the Contiki mailing list:
[...] the original idea was that the application could just point the uip_appdata pointer to wherever the data was, but we then changed it so that the data actually had to be copied into the uip_aligned_buf buffer. So, yes, the network device driver should only need to read from this buffer. [...]

This change removes comments on the possibility of uip_appdata pointing somewhere outside the uip_aligned_buf. And it removes code in the SLIP drivers not necessary anymore.

Additionally it makes code in a SLIP driver optional that takes care of the Microsoft-specific CLIENT / SERVER / CLIENTSERVER chat.
2017-02-05 23:20:39 +01:00
Simon Duquennoy
263af6f642 Merge pull request #2023 from OpenMote/master
Adding support for OpenMote-CC2538 Rev.A1 and OpenUSB
2017-02-02 08:47:07 +01:00
Oliver Schmidt
a6472c8dd9 Revert to static Ethernet driver for the ATARI.
After all there's no momentum for a W5100-based Ethernet solution on the ATARI. So I revert to static linkage of the CS8900A driver as this improves program load times.
2017-01-27 00:18:25 +01:00
George Oikonomou
7b7781360f Merge pull request #2071 from g-oikonomou/bugfix/cc13xx/no-acks
Make the number of Prop Mode RX Buffers easy to configure
2017-01-21 00:17:49 +00:00
Laurent Deru
12c930893c Fix semantic of UIP_ND6_SEND_NA and add UIP_ND6_SEND_NS 2017-01-16 15:48:14 +01:00
George Oikonomou
5fb226f4c9 Make the count of prop mode RX buffers configurable 2017-01-15 12:31:09 +00:00
Nicolas Tsiftes
c1f11cfaa9 Merge pull request #2034 from Vinggui/patch-1
Fixing Avr-Zigbit Makefile not compiling.
2017-01-12 07:49:30 +01:00
Pere Tuset
361cb612a7 Reduce bootloader baudrate to be on the safe side. 2017-01-10 10:59:06 +01:00
Antonio Lignan
82f3ce392e Merge pull request #2028 from joakimeriksson/minimal-net-ND-fix
added support for 6-bytes link-layer address
2017-01-10 09:07:50 +01:00
Antonio Lignan
247d79ea7c Merge pull request #2011 from jdede/z1-llsec
Enable llsec on Z1 nodes
2017-01-10 09:07:27 +01:00
George Oikonomou
960b81d484 Merge pull request #2024 from alignan/pull/eth-gw
Zolertia Orion ethernet router with active POE support
2017-01-09 21:03:45 +00:00
George Oikonomou
14757201a5 Merge pull request #2027 from alignan/pull/fix-adc-channels
zoul: fix a bitmask bug in channels used
2017-01-09 21:02:20 +00:00
Vinicius Guimaraes
42557bf484 Fixing Avr-Zigbit Makefile not compiling.
I just tried to compile this platform for my Zigbit mote (AT86RF230) here in a hello-world example, but it didn't work.
I reviewed this makefile and found that the request to compile "frame.c" was not necessary and bring up a missing error:
"make: *** No rule to make target `obj_avr-zigbit/frame.o', needed by `contiki-avr-zigbit.a'.  Stop."
Frame.c is already inserted in radio's makefile.

Another problem was the undefined reference created by the missing module "core/net":
"contiki-avr-zigbit.a(sicslowpan.o): In function `input':"
"contiki/examples/hello-world/../../core/net/ipv6/sicslowpan.c:1521: undefined reference to `link_stats_input_callback'"

Both solved now. Hope it helps anyone else.
2017-01-04 16:58:53 -02:00
Antonio Lignan
a7e617657a zoul: fix a bitmask bug in channels used 2016-12-29 14:19:32 +01:00
Antonio Lignan
fb9c6009a2 Fixed Firefly revision A image links 2016-12-29 13:40:50 +01:00
Antonio Lignan
a98792a79f Updated ARM toolchain information 2016-12-29 13:38:09 +01:00
Antonio Lignan
6bda852052 Updated maintainer info 2016-12-29 13:32:35 +01:00
Antonio Lignan
579620ce0e Added Zolertia Orion ethernet router with active POE support 2016-12-29 13:07:53 +01:00