Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
David Michaeli committed Feb 6, 2024
2 parents 661c48b + a13b719 commit 8bdaa63
Show file tree
Hide file tree
Showing 23 changed files with 38,162 additions and 277 deletions.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ CaribouLite is an affordable, educational, open-source SDR evaluation platform a
</tr>
</table>

## NOTE: No Support for RPI-5
Due to the architectural changes in RPI5 - the new I/O controller called "RP1" chip, CaribouLite is not supported on RPI5. We assume that the reason is the removal of the SMI interface altogether from the external interfaces by Broadcomm's team.
So, if you intend to use CaribouLite on RPI5 please don't - it won't work. Why was the SMI interface deprecated by Broadcomm (either from its hardware or kernel SW support)? Most probably due to the same reason this interface was not documented in the first place - no interest in supporting a high-speed external interface within the 40-pin connector.

Edit: The workaround we are working to support RPI5 anyway - trying to utilize the Display and Camera I/O pins from the 40-pin connector to stream information - FPGA + Kernel module adaptation.

# Getting Started & Installation
Use the following steps to install the CaribouLite on your choice of RPI board
1. Mount the CaribouLite on a **un-powered** RPI device using the 40-pin header.
Expand Down
2 changes: 1 addition & 1 deletion driver/smi_stream_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ static long smi_stream_ioctl(struct file *file, unsigned int cmd, unsigned long
//-------------------------------
case SMI_STREAM_IOC_FLUSH_FIFO:
{
// moved to read file operation
// moved to read file operation
break;
}
//-------------------------------
Expand Down
6 changes: 3 additions & 3 deletions examples/cpp_api/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ int main ()
try
{
s1g->SetFrequency(900000000);
s1g->FlushBuffers();
//s1g->FlushBuffers();
}
catch (...)
{
Expand All @@ -125,15 +125,15 @@ int main ()
try
{
hif->SetFrequency(2400000000);
hif->FlushBuffers();
//hif->FlushBuffers();
}
catch (...)
{
std::cout << "The specified freq couldn't be used" << std::endl;
}
hif->SetRxGain(0);
hif->SetAgc(false);
hif->StartReceiving(receivedSamples, 20000);
hif->StartReceiving(receivedSamples);

getchar();
}
Expand Down
8 changes: 1 addition & 7 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,7 @@ sudo apt-get -y install swig avahi-daemon libavahi-client-dev python3-distutils
if grep -iq "NAME=\"Ubuntu\"" /etc/os-release; then
sudo apt-get install rpi.gpio-common
echo "Adding user `whoami` to dialout, root groups"

if [[ "`groups ``whoami`" == *`whoami`* ]]; then
echo "` User already in the group`"
else
sudo usermod -aG dialout, root "${USER}"
fi

sudo usermod -aG dialout,root "${USER}"
fi

sudo depmod -a
Expand Down
4 changes: 2 additions & 2 deletions software/libcariboulite/src/caribou_smi/caribou_smi.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ static void caribou_smi_print_smi_settings(caribou_smi_st* dev, struct smi_setti
printf(" dma enable: %c, passthru enable: %c\n", settings->dma_enable ? 'Y':'N', settings->dma_passthrough_enable ? 'Y':'N');
printf(" dma threshold read: %d, write: %d\n", settings->dma_read_thresh, settings->dma_write_thresh);
printf(" dma panic threshold read: %d, write: %d\n", settings->dma_panic_read_thresh, settings->dma_panic_write_thresh);
printf(" native kernel chunk size: %ld bytes\n", dev->native_batch_len);
printf(" native kernel chunk size: %d bytes\n", dev->native_batch_len);
}

//=========================================================================
Expand Down Expand Up @@ -765,7 +765,7 @@ int caribou_smi_flush_fifo(caribou_smi_st* dev)
{
if (!dev) return -1;
if (!dev->initialized) return -1;
int ret = ioctl(dev->filedesc, SMI_STREAM_IOC_FLUSH_FIFO, 1);
int ret = read(dev->filedesc, NULL, 0);
if (ret != 0)
{
ZF_LOGE("failed flushing driver fifos");
Expand Down
1,557 changes: 1,293 additions & 264 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen.h

Large diffs are not rendered by default.

3,245 changes: 3,245 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BACKUP_2568.h

Large diffs are not rendered by default.

3,245 changes: 3,245 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BACKUP_2639.h

Large diffs are not rendered by default.

3,245 changes: 3,245 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BACKUP_2697.h

Large diffs are not rendered by default.

3,245 changes: 3,245 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BACKUP_2882.h

Large diffs are not rendered by default.

2,218 changes: 2,218 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BASE_2568.h

Large diffs are not rendered by default.

2,218 changes: 2,218 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BASE_2639.h

Large diffs are not rendered by default.

2,218 changes: 2,218 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BASE_2697.h

Large diffs are not rendered by default.

2,218 changes: 2,218 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_BASE_2882.h

Large diffs are not rendered by default.

2,216 changes: 2,216 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_LOCAL_2568.h

Large diffs are not rendered by default.

2,216 changes: 2,216 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_LOCAL_2639.h

Large diffs are not rendered by default.

2,216 changes: 2,216 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_LOCAL_2697.h

Large diffs are not rendered by default.

2,216 changes: 2,216 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_LOCAL_2882.h

Large diffs are not rendered by default.

1,535 changes: 1,535 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_REMOTE_2568.h

Large diffs are not rendered by default.

1,535 changes: 1,535 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_REMOTE_2639.h

Large diffs are not rendered by default.

1,535 changes: 1,535 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_REMOTE_2697.h

Large diffs are not rendered by default.

1,535 changes: 1,535 additions & 0 deletions software/libcariboulite/src/caribou_smi/kernel/smi_stream_dev_gen_REMOTE_2882.h

Large diffs are not rendered by default.

Binary file modified software/utils/generate_bin_blob
Binary file not shown.

0 comments on commit 8bdaa63

Please sign in to comment.