- Dec 17, 2013
-
-
Grzegorz Daniluk authored
It was too many instructions and for small frames pfilter was not able to execute them before the end of frame.
-
- Dec 02, 2013
-
-
Grzegorz Daniluk authored
-
- Nov 14, 2013
-
-
- Nov 12, 2013
-
-
Grzegorz Daniluk authored
-
- Nov 07, 2013
-
-
Grzegorz Daniluk authored
Previous one was not working when: * tR and tF were both inside (0; 4000) and tR < tF * tR and tF were both inside (4000; 8000) and tF < tR in those cases it was calculating ttrans around falling edge instead of rising edge. This commit fixes it.
-
t24p calibration finds the rising&falling edges in dev/rxts_calibrator.c:rxts_calibration_update. It then computes the "transition" as (falling+rising)/2. That is, ttrans points 25% past the dangerous transition. Now that value arrives in one of the three copies of ptpd_netif_linearize_rx_timestamp (depending on build). In this method ttrans has +-1/4 period added to it to compute trip_lo and trip_hi. The intent as described by the comment (and common sense) is to avoid the rising edge when the phase is within +-1/4 period. Unfortunately, this code assumes that ttrans IS the rising edge, when in fact it is the rising edge+25%. Thus, the code ACTUALLY tests phase within 0-50%.
-
- Oct 29, 2013
-
-
Wesley W. Terpstra authored
-
- Oct 25, 2013
-
-
Wesley W. Terpstra authored
Greg's commit to fix the t24p calibration broke that calibration for devices using sdbfs. The EEPROM write method clobbered the phase transition value.
-
Wesley W. Terpstra authored
-
- Oct 17, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is a bigger change than expected, as the width was defined in two places. So I moved the definition in <wrc.h>, whence everybody picks it. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Oct 11, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Oct 10, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Oct 01, 2013
-
-
Grzegorz Daniluk authored
-
- Sep 24, 2013
-
-
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Jul 26, 2013
-
-
Grzegorz Daniluk authored
When WR PTP Core is set in GrandMaster mode it aligns its nanosecond counter to 1-PPS and 10MHz coming from external source. When user wants to set seconds counter to a desired value (with _time set_ command), the nanosecond counter was also set (zeroed) causing additional (random) offset to the external source. The commit adds _time setsec_ and _time setnsec_ for setting only seconds or nanoseconds counter without affecting the other one. Now, when user wants to set current time on a GrandMaster Node he has to call _time setsec_ command after _mode gm_
-
- Jul 05, 2013
-
-
Grzegorz Daniluk authored
when Etherbone support is turned off ARP/ICMP/.. (in general all non-PTP) traffic has to go into external fabric interface of WRPC because it won't be handled by WRPC software
-
- May 23, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 22, 2013
-
-
Signed-off-by:
Grzegorz Daniluk <grzegorz.daniluk@cern.ch>
-
- May 20, 2013
-
-
Alessandro Rubini authored
The command is not documented, and it looks like is not useful either (I understand it has been useful when setting up the init area initially) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 14, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Cesar Prados noted that if you boot w1 directly, not passing through sockitowm, w1 was not working. I always run sockitowm because I have it in the lm32 code that starts every time I load the fpga. This fixes the missing clock divisor. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 13, 2013
-
-
Alessandro Rubini authored
This completes w1-eeproom.c with the complete API. The provided test commands allow to read and write any size at any offset (the low-level code manages cross-page reads and writes. The following examples modify a pre-written eeprom, which I host in an external socket of my SPEC card: wrc# w1r 0 4 read(0x0, 4): result = 4 offset 0 (0x000): 240 (0xf0) offset 1 (0x001): 241 (0xf1) offset 2 (0x002): 242 (0xf2) offset 3 (0x003): 243 (0xf3) wrc# w1w 0 40 41 42 offset 0 (0x000): 40 (0x28) offset 1 (0x001): 41 (0x29) offset 2 (0x002): 42 (0x2a) write(0x0, 3): result = 3 wrc# w1r 0 4 read(0x0, 4): result = 4 offset 0 (0x000): 40 (0x28) offset 1 (0x001): 41 (0x29) offset 2 (0x002): 42 (0x2a) offset 3 (0x003): 243 (0xf3) wrc# w1r 30 4 read(0x1e, 4): result = 4 offset 30 (0x01e): 69 (0x45) offset 31 (0x01f): 70 (0x46) offset 32 (0x020): 71 (0x47) offset 33 (0x021): 72 (0x48) wrc# w1w 30 11 22 33 44 55 66 offset 30 (0x01e): 11 (0x0b) offset 31 (0x01f): 22 (0x16) offset 32 (0x020): 33 (0x21) offset 33 (0x021): 44 (0x2c) offset 34 (0x022): 55 (0x37) offset 35 (0x023): 66 (0x42) write(0x1e, 6): result = 6 wrc# w1r 30 6 read(0x1e, 6): result = 6 offset 30 (0x01e): 11 (0x0b) offset 31 (0x01f): 22 (0x16) offset 32 (0x020): 33 (0x21) offset 33 (0x021): 44 (0x2c) offset 34 (0x022): 55 (0x37) offset 35 (0x023): 66 (0x42) Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- May 09, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
-
- May 08, 2013
-
-
Alessandro Rubini authored
This commits affect several files, to be able to support both uart and uart_sw at the same time. My aim is sending verbose ppsi diagnostics to the uart_sw while retaining the real uart (or vuart) for the interactive user and wrpc status gui. To this aim, I use weak functions to avoid hairy ifdef around the code. Now both hw and sw uarts are initialized, and the missing init just does nothing. Also, uart_sw_write_string is always defined, and it is an alias of uart_write_string if no uart_sw is built. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Apr 26, 2013
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
This also adds three shell commands, for testing: w1w PAGE TEXT w1r PAGE w1test The w1test command writes to 80 pages and reads them back (warning: it erases the whole device).
-
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
-
Grzegorz Daniluk authored
-
- Apr 24, 2013
-
-
Grzegorz Daniluk authored
call t24p calibration every time PTP is set to Slave mode, or read the value from EEPROM when Master mode
-
- Apr 03, 2013
-
-
Alessandro Rubini authored
This adds the build choice about whether to use the older sockitowm or the new "w1" implementation, which supports all three thermometers but is still missing eeprom support (the API is defined, though, see include/w1.h This also adds a shell command, called "w1", which rescans the bus and tries to read the temperature from all devices. In the example below the third device is an eeprom, so it return an error for temperature read-out. wrc# w1 W1: 68000801dce56910 W1: f70000001eda8242 W1: 5f00000040e50143 device 0: 68000801dce56910 temp: 34.7500 device 1: f70000001eda8242 temp: 32.5000 device 2: 5f00000040e50143 temp: -32768.0000 The code is properly integrated in wrpc-sw, and the "first" thermometer is used to build the MAC address of the device, like it used to be with sockitowm. The binary built with w1 is 3kB smaller than what is build with sockitowm. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This adds the files for an alternative to sockitowm. I called it "w1" like in the Linux kernel, because "onewire" was already in use as file name in this project. The bus scanning code was a fun project of mine a few years ago, the rest is what I did for my own crappy operating system in the last few days. This commit adds the files as modified to build in wrpc-sw, since I have no "official" Bathos files yet to diff against. This commit doesn't change the build, only adds the file, so actual changes to existing code is all part of the next (smaller) commit. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This introduces dev/uart-sw as an alternative to dev/uart . The software-only thing is a pair of circular buffers that can be driven by tools/wrpc-uart-sw . The software uart can be enabled by Kconfig (and is disabled by default). The code size is the same as the uart, but it "wastes" 306 bytes of data space. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 26, 2013
-
-
Alessandro Rubini authored
I personally dislike "common" variables, as they hid bugs a few times for me. Thus, ppsi has "-fno-common" by now. This commit adds extern to memlayout.h and creates the variables in dev/sdb.c . This builds whether or not -fno-common is there and has no effect on a ptp-noposix build. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Mar 19, 2013
-
-
Tomasz Wlostowski authored
New procedure that does not require PTP traffic, is much faster and doesn't kill the stack. Requires recent endpoint version (wr-cores commit: 4713a98a). Todo: modify locking functions in libptpnetif to automatically perform the calibration whenever PTP enters slave mode.
-
Tomasz Wlostowski authored
-