William, yes, indeed much of my code is based on some of the approaches
of Abhiskek; he did a real nice job, and I borrowed some of his
techniques with some changes (I only go up to a maximum of 50MS/s
whereas Abhiskek goes up to 100MS/s and I don't use the new TI assembler
or the Pru-C compiler - they looked too complicated for me without
having someone around that was knowledgeable about how to use them, and
I was up and running on pasm2, also I only support up to 12 bits), but
my approach is very similar, especially in timing. My user interface is
different as my application is different (primarily intended to hook up
to buses going to sensors from my cape). I've been trying to get my cape
linked to the http://elinux.org/Beagleboard:BeagleBone_Capes site, but
have not been successful in these attempts (not sure why). Currently,
working on a second cape (first one is finished along with two sensor
interfaces - well hardware anyways, software is never finished - ) with
a LoRa transceiver (which has an SPI interface - the Semtech SX1276) and
an RTC; first PCB into debug early Jan. but have two jury rigged BBBs
talking now to get software started (have established python on arm is
plenty fast enough).
On 15-12-16 06:39 PM, William Hermans wrote:
Kenneth, Have you looked into Beaglelogic ?
https://github.com/abhishek-kakkar/BeagleLogic
On Wed, Dec 16, 2015 at 4:13 PM, Kenneth Martin
<[email protected] <mailto:[email protected]>> wrote:
John, I haven't heard of McSPI, but I'm running the SPI from a
python program on the Arm side based on some Pyside Qt
controllers, I'm using the PRU for a logic analyzer and the logic
analyzer pins are not available for the SPI, so this could be the
reason. I may also use the PRU IEP timer in the future for some
fine timing but I don't think this is relevant.
On 2015-12-16 04:53 PM, John Syne wrote:
No need to bitbang unless you want additional SPI ports
available. Simply use the McSPI port controlled from the PRU.
Regards,
John
On Dec 16, 2015, at 1:37 PM, William Hermans <[email protected]
<mailto:[email protected]>> wrote:
/Normally SPI's are good up to 100MHz, but this is seldom
needed. I normally set them up at 1MHz for initial debug
(allows for cheaper instruments) and then usually go to
10MHz which normally makes speed a non-issue and allows for
longer wires. 16MHz should be fine as well. I2C's often run
around 1MHz and are very dependent on length (i.e.
capacitance). One needs to keep I2Cs high when not used to
minimize power due to pull-ups. SPI's, once you get them
going, are generally a better choice./
SPI through the PRU seems to be limited at around 21.2Mhz. At
least an implementation I was just reading about. It seemed that
the author was bit banging however. Using the other PRU core for
the clk timer as well.
On Wed, Dec 16, 2015 at 12:49 PM, Robert Nelson
<[email protected] <mailto:[email protected]>> wrote:
> Currently I'm fighting with WiFi; I had scripts to detect
the wlanx device
> using iw dev | grep "Interface" | awk '{printf $2}' but
this is failing at
> boot; it works fine after boot. I tried hard coding the
wlanx device, but
> now it seems to change; when I specify wlan0, it comes up
as wlan1, and vice
> versa? It seems wireless networking changed somewhat from
my previous
> version, and I haven't tracked down what yet. So wireless
first, apt-gets
> second, pips third, device trees fourth, prus fifth, and
then tracking down
> why previously debugged software stopped working. It might
be interesting to
> keep track of how many issues come up.
Sounds like the wifi device has a mac that changes..
Right a udev rule to push it back to wlan0..
here's an example of a udev rule we used on teh bbb's for
the eth0:
https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-Networking:UsingasharedSDcardwithMultipleBeagleBone
For example, enp2s0 on my desktop:
$ sudo udevadm info -a /sys/class/net/enp2s0
Udevadm info starts with the device specified by the devpath
and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device
'/devices/pci0000:00/0000:00:15.0/0000:02:00.0/net/enp2s0':
KERNEL=="enp2s0"
SUBSYSTEM=="net"
DRIVER==""
ATTR{addr_assign_type}=="0"
ATTR{addr_len}=="6"
ATTR{address}=="bc:5f:f4:e5:9d:83"
ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
ATTR{carrier}=="1"
ATTR{carrier_changes}=="1"
ATTR{dev_id}=="0x0"
ATTR{dev_port}=="0"
ATTR{dormant}=="0"
ATTR{duplex}=="full"
ATTR{flags}=="0x1003"
ATTR{gro_flush_timeout}=="0"
ATTR{ifalias}==""
ATTR{ifindex}=="2"
ATTR{iflink}=="2"
ATTR{link_mode}=="0"
ATTR{mtu}=="1500"
ATTR{name_assign_type}=="4"
ATTR{netdev_group}=="0"
ATTR{operstate}=="up"
ATTR{speed}=="1000"
ATTR{tx_queue_len}=="1000"
ATTR{type}=="1"
looking at parent device
'/devices/pci0000:00/0000:00:15.0/0000:02:00.0':
KERNELS=="0000:02:00.0"
SUBSYSTEMS=="pci"
DRIVERS=="alx"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x020000"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x10a1"
ATTRS{dma_mask_bits}=="64"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="38"
ATTRS{local_cpulist}=="0-3"
ATTRS{local_cpus}=="f"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{subsystem_device}=="0x10a1"
ATTRS{subsystem_vendor}=="0x1849"
ATTRS{vendor}=="0x1969"
looking at parent device '/devices/pci0000:00/0000:00:15.0':
KERNELS=="0000:00:15.0"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x060400"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{d3cold_allowed}=="0"
ATTRS{device}=="0x43a0"
ATTRS{dma_mask_bits}=="32"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="24"
ATTRS{local_cpulist}=="0-3"
ATTRS{local_cpus}=="f"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{subsystem_device}=="0x0000"
ATTRS{subsystem_vendor}=="0x1022"
ATTRS{vendor}=="0x1022"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
Regards,
--
Robert Nelson
https://rcn-ee.com/
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the
Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to
[email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the
Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from
it, send an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to a topic
in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/beagleboard/tdt1TTix7aE/unsubscribe.
To unsubscribe from this group and all its topics, send an email
to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google
Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to a topic in the
Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/beagleboard/tdt1TTix7aE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
[email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.