Saw it once...

Steven Wilson


Saw SPI once - not sure why I'm not seeing it more -

In ANY case - I had to modify PiHPSDR code to see it.

There are a couple of issues - First - here is the C Code in PiHPSDR

    if(filter_board==APOLLO) {
      general_buffer[58]|=0x02; // enable APOLLO tuner

    if(filter_board==ALEX) {
      if(device==NEW_DEVICE_ORION2) {
        general_buffer[59]=0x03;  // enable Alex 0 and 1
      } else {
        general_buffer[59]=0x01;  // enable Alex 0

You are using bit 1 of the Alex_enable vector to turn on the spi port.  Likely this should be a |Alex_enable[1:0]

Secondarily - maybe you should be identifying yourself as an Orion and adopt it's SPI organization since it is the only one that handles two receiver filters!

I'm working on building an Alex clone - and want to run two filter sets. I need a 32 bit SPI word shifted out instead of just 16 to allow independent control of two filters.



David Fainitski

Hello, Steve

This firmware based on Hermes 10E firmware and using Alex_n[1] bit of 59 byte, I think this is mistake.

I can make only for you a firmware with the all 32 bit Alex_data output to SPI but I have a plan to do my owner Odyssey protocol so I don't see any reason to do more clones of HPSDR firmware.


David Fainitski

Hello, Steve

There is firmware ANP for you with all 32 bits Alex_data sending to SPI

Alex_enable[0] for SPI enable

If Alex_enable[0] in 0  - DATA, CLOCK and EN using as UO_4, UO_5, UO_6