Hi,
> I am quite new to the Cubesat Space Protocol(or network layer for embedded)
> and am actually trying to understand the fundamentals, will really
> appreciate if you could help me out.
First of all, thank you for showing interest in CSP!
> I have attached a draft of my system and basically my questions are :
>
> 1) is CSP software needed for the subsystem? My guess is YES. if No, how do
> we configure the address at subsystem?
Well, you don't *need* CSP, but it's a viable option. You configure the
CSP addresses when you initialize CSP with csp_init() on the individual
hosts. Your I2C addresses will be configured in your device driver/CSP
interface.
> 2) How do we address the passive system(no microcontroller) on the same I2C
> bus? does it mean they cant be addressed using the CSP protocol? are they
> allowed to be on the same bus that uses the CSP protocol to communicate?
It is possible to both CSP and non-CSP devices on the same bus. You need
to distinguish between CSP addresses and I2C addresses. They are not
necessarily the same. CSP supports mapping to I2C addresses, when
setting up the routing table. If you want to access non-CSP devices on
the bus, you don't use CSP.
> 3) in the CSP documentation, how does the sample server code and client code
> correspond to the compenents in the attached diagram? the main system uses
> server code and subsystem client code?
It depends entirely on the functionality of your system. If your
subsystems provide some type of service to the main computer (say
measurement data), the subsystems will run servers. In this case, the
main computer will be the client.
Most likely, you will run servers on both the subsystems and on the main
computer.
I hope this answers your questions.
Best regards,
Jeppe
Yes, I guess that is your only option since you cannot access them using
CSP.
> I have checked out the GomSpace systems and will like to know:
>
> on default configuration, is nanomind the client and the subsystems
> (nanocam, nanopower, nanocom) the servers? since they(subsystem) are
> feeding measurements when queried by nanomind. or does the subsystems
> also act as client and initiate a connection as well?
Both the NanoMind and the subsystems are running servers and both sides
initiate connections. As an example, the NanoMind can fetch housekeeping
data from the NanoPower and the NanoPower can send event log messages to
the NanoMind.
The NanoCom is a bit special, since it acts as a router between the
internal satellite bus (CAN or I2C) and the space link, and thus has two
interfaces.
Best regards,
Jeppe